关于SearchView的使用和遇到的问题

原创 2016年09月16日 22:51:46
关于SearchView的使用和遇到的问题

1、在menu.xml中配置SearchView。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_search"
        android:actionViewClass="android.widget.SearchView"
        android:icon="@drawable/actionbar_search_icon"
        android:showAsAction="ifRoom|collapseActionView"
        android:title="搜索"/>

</menu>
2、在Activity中的onCreateOptionsMenu(Menu menu)方法中设置SearchView的监听器。
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.tb, menu);
        //为SearchView设置监听器。在onCreate方法中去设置,find得到的SearchView是空的。
        //因为(1)onCreateOptionMenu在onCreate后面执行,inflate还未执行。
        //因为(2)onCreate中只能获取其Content布局文件中的view,而不能获取menu中的item,这属于两个不同的容器或者文件,他们不在同一个范围内。
        //答案2貌似是对的
        SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
        searchView.setOnQueryTextListener(new OnQueryTextListener() {
			@Override
			public boolean onQueryTextSubmit(String arg0) {
				Intent intent = new Intent(getApplicationContext(), TBSearchActivity.class);
				intent.putExtra("key", arg0);
				startActivity(intent);
				return false;
			}
			@Override
			public boolean onQueryTextChange(String arg0) {
				return false;
			}
		});
        return true;
    }

3、遇到的问题:在onCreate方法中获取SearchView时为空,Eclipse环境下,做了下测试发现onCreateOptionMenu在onCreate后面执行,猜测因为onCreate中只能获取其Content布局文件中的view,而不能获取menu中的item,这属于两个不同的容器或者文件,他们不在同一个范围内。如有不对,敬请指点。如果是在Android Studio环境下,还需要把menu.xml文件中的android:actionViewClass属性和android:showAsAction属性改为app开头的,即app:actionViewClass和app:showAsAction。
4、打完收工。





一个最简单的基于Android SearchView的搜索框

 Android SearchView和其他Android View类似,直接可以作为一个View使用,现在给出一个最简单的SearchView使用方式。在后续的文章中,将一步一步由浅入深从简单...

SearchView的基本使用示例

SearchView的基本使用示例

Android-ListView两种适配器以及事件监听

Android-ListView两种适配器ListView在安卓App中非常常见,几乎每一个App都会有涉及,比如QQ消息列表,或者是 通讯录还有就是酷我音乐的歌曲列表都是ListView、继承Li...
  • ACM_TH
  • ACM_TH
  • 2016年03月27日 13:23
  • 2889

Android 深入理解Loader机制 让APP轻装上阵

本文简书同步发布,谢谢关注。 http://www.jianshu.com/p/8b83b8b6e931 Android开发者都经历过APP UI开发不当 会造成overDraw,导致APP UI渲染...

解决使用SearchView和Filter时出现搜索词悬浮窗问题

在andorid开发中,有时候会遇到这样的情况,界面中有一个SearchView,需要在其中输入内容来过滤ListView中的内容 大致的做法如下: 1. ListView的adpter实现Filt...
  • w_xue
  • w_xue
  • 2013年10月31日 16:18
  • 1875

关于SearchView无法展开的问题?

bug天天有,今年特别多~! 好好的SearchView,别人用的好好的,GOOGLE的APIDEMO里面也好好的,就是我的不行~! 真的是我运气背吗,我想是的!天将降大任于斯人也必先苦其心志,劳...

Android下Toolbar+SearchView程序崩溃闪退问题解决方法及示例

最近在用Toolbar+SearchView做搜索,整体效果想做成类微信的那种,在主页面点击搜索图标后弹出搜索页面,然后输入搜索条件进行搜索。但是在引入MenuItemCompat.setOnActi...

Android SearchView 焦点问题

问题:SearchView 在退出软键盘后,Focus依然存在的问题。并且还会抢其它控件Focus?在试过clearFocus后也依然不好使......

Android SearchView和ListView结合使用Demo

  • 2016年04月07日 16:57
  • 7.13MB
  • 下载

SearchView使用实例

  • 2017年05月22日 09:30
  • 28.4MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于SearchView的使用和遇到的问题
举报原因:
原因补充:

(最多只允许输入30个字)