问题

ActionBar有一个名为"SearchView"的小部件。当它不使用时,它看起来像这样:

当它在使用时,它看起来像这样:

我想(当然是以编程方式)打开searchview(使其"正在使用")。

我尝试了几个功能,例如:

SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();

searchView.setOnQueryTextListener(this);

searchView.performClick();

searchView.requestFocus();

但这些都没有奏效......

XML中的SearchView:

android:title="Search"

android:icon="@drawable/ic_action_search"

android:showAsAction="ifRoom|collapseActionView"

android:actionViewClass="android.widget.SearchView" />

#1 热门回答(210 赞)

展开SearchViewwith

searchView.setIconified(false);

用它来折叠它

searchView.setIconified(true);

你需要将值android:showAsAction从ifRoom|collapseActionView更改为always。 SearchView的属性android:iconifiedByDefault应为true,这是默认值,否则用户在以编程方式扩展后无法折叠SearchView。

#2 热门回答(63 赞)

尝试在ActionView上调用expandActionView(),而不是在ActionView上调用onActionViewExpanded()。

这个对我有用。

MenuItem searchMenuItem = menu.findItem(R.id.menu_search);

searchView = (SearchView) searchMenuItem.getActionView();

searchMenuItem.expandActionView();

#3 热门回答(11 赞)

如果你只想在必要时使用支持库,请执行此操作

MenuItem searchMenuItem = menu.findItem(R.id.action_search);

if (Utils.hasIceCreamSandwich())

searchMenuItem.expandActionView();

else MenuItemCompat.expandActionView(searchMenuItem);

否则只是这样做

MenuItem searchMenuItem = menu.findItem(R.id.action_search);

MenuItemCompat.expandActionView(searchMenuItem);

java searchview_如何以编程方式打开SearchView?相关推荐

  1. 打开WIFI软件JAVA_java – 以编程方式打开wifi网络共享

    尝试以下代码,以编程方式打开wifi网络共享.我已经测试过,它正在我的应用程序中工作. public class WifiAccessManager { private static final St ...

  2. java 生成csr_Java以编程方式生成CSR

    java 生成csr Recently I had to write a program to generate Certificate Signing Request (CSR) using Jav ...

  3. java ca认证_java编程方式生成CA证书

    下面是java编程方式生成CA证书的代码,使用的是BC的provider.生成CA证书与生成普通证书的区别是:1,生成CA证书时,issuer和subject一致:2,在ContentSigner.b ...

  4. kafka java获取topic_通过编程方式获取Kafka中Topic的Metadata信息

    如果我们需要通过编程的方式来获取到TopicMetadataRequest请求到 def findLeader(topic: String): Unit = { val consumer = conn ...

  5. java 送参数_关于java:如何以编程方式发送带参数的HTTP请求?

    本问题已经有最佳答案,请猛点这里访问. 如果我使用浏览器向服务器发送信息(例如使用登录.密码页),我只需填写用户文本框和密码文本框,然后单击登录按钮. 我想发送此信息,但不必使用浏览器.我想" ...

  6. java.awt.headless_以编程方式设置java.awt.headless = true

    小编典典 我正在使用一个main()类,该类在常量(和其他静态代码)中静态加载JFreeChart的不同部分. 将静态加载块移到类的顶部解决了我的问题. 这不起作用: public class Foo ...

  7. 相机java程序_以编程方式在Android上用相机拍照

    请看下面的演示代码 . 这是用于UI的XML文件, android:layout_width="fill_parent" android:layout_height="f ...

  8. android 闪光灯程序,如何在Android中以编程方式打开前闪光灯?

    在API 23或更高版本中(AndroidM,6.0)打开代码if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { CameraManage ...

  9. android 打开闪光灯,如何在Android中以编程方式打开前置闪光灯...

    对于这个问题,你应该: >检查手电筒是否是 可用与否? >如果是,则关闭/打开 >如果没有,那么根据你的应用,你可以做任何事情 需要. 要检查设备中闪存的可用性: 您可以使用以下内容 ...

最新文章

  1. ajax报403错,django使用ajax post数据出现403错误如何解决
  2. PAT (Advanced Level) 1002. A+B for Polynomials (25)
  3. Linux信号实践(4) --可靠信号
  4. 萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks...
  5. SAP License:制造企业信息化新动向
  6. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
  7. 密码必须至少为6个字符_1081 检查密码 (15分)
  8. Caltech数据集转为voc格式
  9. 云设置下如何满足客户的数据安全需求?
  10. hihoCoder 1080 : 更为复杂的买卖房屋姿势 线段树区间更新
  11. 台州学院计算机科学与技术专业怎么样,台州学院数学与信息工程学院
  12. 基于Java的高校社团管理系统
  13. 算法:特殊二维数组查询key值是否存在
  14. aix java 7下载_aix系统安装 jdk 1.7
  15. twaver html5 2d demo,TWaver 2D+GIS+3D的试用和在线Demo
  16. linux centos无线网卡驱动安装,CentOS 6.5 安装无线网卡驱动实现无线上网
  17. syn 攻击脚本 python_Python Scapy实现SYN Flood攻击
  18. Python Counter函数
  19. unit怎么发音_“unit”怎么读?
  20. 秋招内推码汇总第二波 | 阿里、科大讯飞等10家公司内推码

热门文章

  1. 领英上发的Post一周就收获了20万点赞和5K评论方法技巧
  2. 【转载】周易与管理思考之企业文化管理制度
  3. 【mac】未能正确拔出移动硬盘,导致移动硬盘无法识别问题。
  4. IP Precedence、DSCP、TOS
  5. 一起写atom插件(1)——写个简单的插件
  6. 运算符重载之成员运算符重载
  7. C++小程序:拯救公主(文字游戏)
  8. 笔试面试找工作个人总结(持续更新)
  9. 江苏省计算机高考试题,08-16江苏省单招计算机网络高考试题汇总.doc
  10. 企业邮箱怎么购买?企业邮箱有什么优惠,收费标准什么?