android自带内部搜索ui组件,在实际的activty中,要调用搜索组件,完成输入内容然后进行搜素处理,得到相应的数据到相应的activty中显示数据。
下面是搜素的截图:
主要实现代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);Button button1 = (Button) findViewById(R.id.button);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onSearchRequested();
}
});
}
@Override
public boolean onSearchRequested() {Bundle appDataBundle = new Bundle();
appDataBundle.putString("demo_key", "dddd");startSearch("搜索", false, appDataBundle, false);
return true;
}
重要配置:AndroidManifest.xml文件
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".SearchManager"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="android.app.default_searchable"
android:value=".ResultActivty" />
</activity>
<activity android:name=".ResultActivty"
android:label="@string/search_query_results">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.SAMPLE_CODE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity></application>
searchable.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/search_label"
android:hint="@string/search_hint"
android:searchMode="showSearchLabelAsBadge"
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"
android:voiceLanguageModel="free_form"
android:voicePromptText="@string/search_invoke"
android:searchSuggestAuthority="com.example.android.apis.SuggestionProvider"
android:searchSuggestSelection=" ? "
/>
源代码:http://easymorse-android.googlecode.com/svn/trunk/android.searchmanager