PHP中文网2017-04-17 13:08:302楼

@李引证 的回答包括了关键信息,我来补充一些细节,及纠正几个细节上的错误。

关于“菜单项的点击事件”

我们需要覆写 onCreateOptionsMenu 来初始化Activity/Fragment的选项菜单。

Android同时提供了另一个方法 onOptionsItemSelected(),该方法在菜单项被点击时调用,在这里处理菜单项的点击事件。所以一般不会在 onCreateOptionsMenu 为某个item实现其callback.

需要纠正的是,MenuItem没有setClickListener,而是MenuItem.setOnMenuItemClickListener.

所以,我们一般这样去做:

@Override

public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.menu_start_search_activity, menu);

return super.onCreateOptionsMenu(menu);

}

@Override

public boolean onMenuItemSelected(int featureId, MenuItem item) {

switch (item.getItemId()) {

case R.id.menu_item_search:

startActivity(new Intent(StartSearchActivity.this, PhotoGalleryActivity.class));

return true;

}

return super.onMenuItemSelected(featureId, item);

}

关于“点击SearchView后跳转到一个新的Activity”

当我们想为一个activity添加搜索框(换句话说就是点击action bar menu item,然后在action bar上弹出搜索框),一般做法是把该activity(也就是包含了search menu item的activity)配置为可搜索,然后再实现相应的方法。

根据menu item是否配置了android:actionViewClass="android.widget.SearchView",相应的方法(onCreateOptionsMenu, onOptionsItemSelected)在实现上有些差别。

结果上也有差别,前者是在action bar上覆盖一个搜索对话框,后者具有和应用完全一致的样式和主题,如下图:

所以,如果你想点击SearchView后跳转到一个新的Activity,就像微信搜索框的效果。

需要这样做:

首先配置这个新的Activity为可搜索的Activity,并实现其相应的方法;

参考 (1)配置一个Searchable Activity;发起搜索请求;在onNewIntent中处理search intent;(2)使用SearchView作为search menu item的指定视图。

然后为某一个Activity添加MenuItem,在Item的点击事件中(参考上述:关于“菜单项的点击事件”),启动上面配置的activity;

所以,需要纠正的是,这个item就是普通的item,不是具有SearchView视图的item,你的问题表述在这一点上是错误的。参考 启动一个可搜索的Activity;启动一个可搜索的activity,通过MenuItem。

同时要注意,需要调用searchView.setIconifiedByDefault(false),这样启动的这个可搜索的activity的searchView才是展开的,如下GIF效果:

Done :)

点击android搜索框跳入另一个页面,android - ToolBar中的SearchView如何让点击之后跳转到一个新的Activity...相关推荐

  1. android搜索框布局文件,android搜索框列表布局,流程及主要步骤思维导图

    android搜索框列表布局,流程及主要步骤思维导图 android搜索框列表布局,流程及主要步骤思维导图 activity_coin_search.xml ---------- android:id ...

  2. 【OS_Windows】Win10应用商店闪退和点击Cortana搜索框闪退的解决方法

    [OS_Windows]Win10应用商店闪退和点击Cortana搜索框闪退的解决方法 参考文章: (1)[OS_Windows]Win10应用商店闪退和点击Cortana搜索框闪退的解决方法 (2) ...

  3. android圆形点击效果,Android 三种方式实现自定义圆形页面加载中效果的进度条

    [实例简介] Android 三种方式实现自定义圆形页面加载中效果的进度条 [实例截图] [核心代码] ad376a86-a9aa-49bc-8cea-321bcff2c0c3 └── AnimRou ...

  4. [Android]搜索框SearchView

    SearchView的介绍 SearchView提供了用户界面,并且可以通过监听查询内容来帮助实现搜索查询功能的小组件. SearchView的属性 XML 属性 android:iconifiedB ...

  5. android搜索框实现

    http://blog.csdn.net/pengjianbosoft/article/details/6638402 在Map应用中会经常见到一个浮动的搜索框 一般可以搜索附近的POI点信息 而且这 ...

  6. Android 搜索框的实时查询/模糊查询

    在搜索框的检索中我们经常会遇到"精确检索"."模糊检索",精确检索我就不多加解释了,我们看下模糊检索: 参考: http://blog.csdn.net/jds ...

  7. Android 搜索框:SearchView 的属性和用法详解

    转载请标明出处: http://blog.csdn.net/airsaid/article/details/51087226 本文出自:周游的博客 SearchView简介 SearchView属性 ...

  8. Android 搜索框、书架页面以及排行榜页面UI设计

    设计思路 收集各大主流小说App搜索UI设置,发现基本都会有在导航栏(AppBar)中设置搜索功能.故本App也采取这种主流设计.同时考虑在书架页面和排行榜页面进行滑动切换. 搜索框UI设计 实现效果 ...

  9. android 搜索框组件,Android零基础入门|搜索框组件SearchView

    原标题:Android零基础入门|搜索框组件SearchView 一.SearchView概述 SearchView是搜索框组件,它可以让用户在文本框内输入文字,并允许通过监听器监控用户输入,当用户输 ...

最新文章

  1. phpstudy免费安全检测服务_Phpstudy联合各大安全厂商为用户提供免费安全检测服务...
  2. 关于eclipse的indigo版中文注释时字体太小的问题(转)
  3. 最新版Byte Buddy完全支持Java 11
  4. 【答辩问题】计算机专业本科毕业设计答辩的一般程序2
  5. yii selenium php,Yii 单元测试用例
  6. 桥接模式和php实现
  7. Eclipse的界面语言
  8. 珍藏多年的技术资源搜索网站——程序员必备
  9. 【安卓手机驱动无法安装则无法连接电脑,终极100%解决方法】ADB interfacm与 Andriod安装出现黄色感叹号
  10. Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
  11. 国外android内存清理工具,给大家推荐一个安卓清理神器哈,确实好用
  12. 我的三偶之:迈克尔.杰克逊(Micheal Jackson)
  13. Java实现内存分配算法 FF(首次适应算法) BF(最佳适应算法)
  14. 奔骝定位摄影作品之LAS200
  15. 信息发布类网站后台界面设计一点思考(整体布局)
  16. 《恋上数据结构与算法》第1季:算法概述
  17. vmware上pfSense安装说明
  18. HDU3507打印文章 斜率优化入门
  19. 计算机应用池在哪,机动车号牌发放将全国统一 号池号码全部由计算机随机投放、自动增补...
  20. 信号处理之FFT(如何求幅度、相位、画频谱图)

热门文章

  1. element-ui 通过变量修改默认样式
  2. Linux上截图方法
  3. python123注册邮箱_Python实现破解邮箱账号密码的实例
  4. 计算机美术设计概念,计算机美术设计和工艺美术创新.doc
  5. 球王梅西,还需要一座金杯来证明吗?
  6. 段子引发的软件测试思考
  7. 数据库SQL函数 根据身份证号/出生年月 精确计算年龄(Oracle/MySQL)
  8. c#语言对于类库的理解!
  9. 【Java进阶】02-线程(中)
  10. 人体裂痕效果……吓!