Android 如何将EditText添加到ActionBar以进行ListView筛选?

Android 如何将EditText添加到ActionBar以进行ListView筛选?,android,android-actionbar,Android,Android Actionbar,我有一个带有操作栏的活动,这个操作栏上有一个图标。当用户按下此图标时,我需要隐藏此图标并显示带有十字的编辑文本以清除文本。当用户将完成它(在ListView中选择项目或按后退按钮),我将需要再次显示图标 这里有两个相关的问题: 1.如何在ActionBar上添加EditText以进行ListView筛选? 2.如何在EditText和图标之间更改ActionBar 单击之前: 单击“加号”图标后: 您需要将SearchView小部件添加到应用程序中。 官方文件如下: 还有添加它的详细说明。s

我有一个带有操作栏的活动,这个操作栏上有一个图标。当用户按下此图标时,我需要隐藏此图标并显示带有十字的编辑文本以清除文本。当用户将完成它(在ListView中选择项目或按后退按钮),我将需要再次显示图标

这里有两个相关的问题: 1.如何在ActionBar上添加EditText以进行ListView筛选? 2.如何在EditText和图标之间更改ActionBar

单击之前:

单击“加号”图标后:


您需要将SearchView小部件添加到应用程序中。 官方文件如下:


还有添加它的详细说明。

searchmenu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >      
<item android:id="@+id/action_search"
      android:title="search"
      android:icon="@android:drawable/ic_menu_search"
      android:showAsAction="always"
      android:actionViewClass="android.widget.SearchView" />
</menu>
  • 如何在ActionBar上添加EditText以进行ListView筛选
  • 请通过公共软件参阅。更清楚的是,他的计划会奏效

  • 如何在EditText和图标之间更改ActionBar
  • 只需覆盖选中的选项,并尝试设置该菜单项的可见性

    MenuItem item = menu.findItem(R.id.my_item);
    item.setVisible(false);
    

    或者,如果您想要完全控制自己的双手,请尝试检查@Hareshchelana,谢谢!但这不适用于ActionBar。当我将
    android:actionViewClass=“android.widget.SearchView”
    添加到我的菜单项时,它会将图标从“plus”更改为带有“loupe”的搜索图标。这不是我想要的,我需要一个加号图标。你不能轻易更改默认图标。看看这个答案:当我将android:actionViewClass=“android.widget.SearchView”添加到我的菜单项时,它会将图标从“plus”更改为带有“loupe”的搜索图标。我不需要它,我需要一个“plus”图标。在searchmenu.xml中使用android:icon=“@drawable/plus”
    MenuItem item = menu.findItem(R.id.my_item);
    item.setVisible(false);