Google搜索框的配置
1.声明处理搜索的Activity
<meta-data android:name="android.app.default_searchable" android:value=".OnSearchAppsList" />
2.Activity定义
<activity android:name=".OnSearchAppsList"android:configChanges="orientation|keyboardHidden|navigation"android:label="@string/Market"><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>
3.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" />
4.调用 Search功能
onSearchRequested();
5.可重写onSearchRequested()函数,为搜索框填充初值
@Overridepublic boolean onSearchRequested() { startSearch(mStrSearchIndex, false, null, false);}5.截获 参数
getIntent().getStringExtra(SearchManager.QUERY);
这后即可以随意处理搜索请求了.
如果需要回到之前页面,可在AndroidManifest.xml 的当前Activity中配置属性
android:launchMode="singleTask"
并在程序中重写 NewIntent() 函数,通过
@Overrideprotected void onNewIntent(Intent intent) { super.onNewIntent(intent); String temptest = intent.getStringExtra(SearchManager.QUERY);}获取到搜索框里的值。
附件是别人做的一个例子程序。android:value=".OnSearchAppsList" />
红色是指定跳转到哪个页面去处理请求的,
配置文件声明在第2部分有说明。 努力学习ing。。。 努力学习ing。。。
我上传了个例子程序,你看了就懂了 努力学习ing。。。
我上传了个例子程序,你看了就懂了
非常感谢,终于解决我的问题了。