关于com.actionbarsherlock.widget.SearchView的使用无法调用SearchActivity
来源:互联网 发布:java中long的长度 编辑:程序博客网 时间:2024/04/29 14:38
我也是按照android 文档做的。
在res/xml下 新建searchable.xml
<?xml version="1.0" encoding="utf-8"?><searchable android:label="@string/app_name" android:hint="@string/search_hint" android:searchSuggestAuthority="com.mengqi.base.provider" android:searchSuggestPath="newsearch" android:searchSuggestSelection="word LIKE ?" android:searchSuggestIntentAction="android.intent.action.VIEW" android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" android:searchSuggestThreshold="2" android:includeInGlobalSearch="true" xmlns:android="http://schemas.android.com/apk/res/android" />
根据自己需求设置不同的属性。
然后在androidManifest.xml定义activity
<activity android:name=".SearchActivity" android:launchMode="singleTop" > <intent-filter> <action android:name="android.intent.action.SEARCH" /> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/></activity>
@Override public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {getSupportMenuInflater().inflate(R.menu.search, menu);SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setQueryHint(getString(R.string.search_hint)); searchView.setOnQueryTextListener(this); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); return super.onCreateOptionsMenu(menu); }@Overridepublic boolean onQueryTextSubmit(String str){// TODO Auto-generated method stubLogUnit.Log(TAG, "search submit:" + str);return false;//必须返回false 要不然SearchView认为你处理该提交。他不会再进行处理}@Overridepublic boolean onQueryTextChange(String str){// TODO Auto-generated method stubLogUnit.Log(TAG, "text change:" + str);return false;}
res/menu 下面新建 search.xml
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:icon="@drawable/ic_action_search" android:id="@id/menu_search" android:orderInCategory="10" android:title="@string/search" android:actionViewClass="com.actionbarsherlock.widget.SearchView" android:showAsAction="ifRoom|collapseActionView" /></menu>
这样子发现,在搜索框中确定搜索的时候不弹出。
研究才发现在TestActivity中
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));设置进去的SearchableInfo是空的。
我就新建一个
searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(this, SearchActivity.class)));这样子就能够正常运行了。
但是实例都没有这样。为什么就是我的
searchManager.getSearchableInfo(getComponentName())得到的是空值。所以认真寻找 才发现在
androidManifest.xml中还有定义
<meta-data android:name="android.app.default_searchable" android:value=".SearchActivity" />这样子,
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));才能够正常起作用。
0 0
- 关于com.actionbarsherlock.widget.SearchView的使用无法调用SearchActivity
- ActionBarSherlock中的搜索及SearchView的使用 ...
- v7.widget.SearchView的使用
- v7.widget.SearchView的使用
- v7.widget.SearchView的使用
- android v7.widget.SearchView的使用
- 关于SearchView的使用理解
- 关于android SearchView的使用
- 关于SearchView无法展开的问题?
- ActionBarSherlock的使用
- actionbarsherlock的使用
- ActionBarSherlock的使用
- SearchView的基本使用
- Android SearchView的使用
- SearchView的使用
- SearchView的基本使用
- SearchView的简单使用
- 关于actionbar中searchview使用
- algorithms learning and what i've read today
- 中国矿业大学(徐州)CSDN高校俱乐部运营策划
- python实现ftp中的乱码问题
- jquery 选项目卡
- watir&webdriver初学的笔记(更新)
- 关于com.actionbarsherlock.widget.SearchView的使用无法调用SearchActivity
- SQL SERVER 2008 怎么导入和导出单张表的数据和结构
- USACO 1.4 Arithmetic Progressions (ariprog)
- JS控制弹窗增加确定和取消
- C语言的服务器开发基础知识
- 积分触发器 mysql 触发器的使用
- 画用例图
- USACO 1.4 Mother's Milk (milk3)
- 如何查看道琼斯指数