Android 如何截取点击;“向上”;(主页按钮)ActionBar中的按钮夏洛克?

Android 如何截取点击;“向上”;(主页按钮)ActionBar中的按钮夏洛克?,android,android-actionbar,actionbarsherlock,android-menu,Android,Android Actionbar,Actionbarsherlock,Android Menu,我已经使用ActionBar Sherlock为我的一个项目实现了搜索功能。现在我在ActionBar上有了搜索编辑文本,就像官方AB sherlock项目repo(在github上)的示例一样: 我的搜索编辑文本正在过滤活动中的列表视图。当用户开始键入某些字符时,ListView将被过滤。我通过在搜索中添加一个textWatcher来编辑文本,如下所示: @Override public boolean onCreateOptionsMenu(Menu menu) { supe

我已经使用ActionBar Sherlock为我的一个项目实现了搜索功能。现在我在ActionBar上有了搜索编辑文本,就像官方AB sherlock项目repo(在github上)的示例一样:

我的搜索编辑文本正在过滤活动中的列表视图。当用户开始键入某些字符时,ListView将被过滤。我通过在搜索中添加一个textWatcher来编辑文本,如下所示:

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    menu.add(Menu.NONE, SEARCH_ACTION_MENU, 0, "Search")
        .setIcon(R.drawable.ic_search)
        .setActionView(R.layout.search_edittext)
        .setShowAsAction(
            MenuItem.SHOW_AS_ACTION_ALWAYS
                | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

    /** We get a reference to the search edit */
    MenuItemWrapper menuItemWrapper = (MenuItemWrapper) menu.getItem(0);
    final EditText searchEdit = (EditText) menuItemWrapper.getActionView();
    /** We add a listener search filter listener */
    searchEdit.addTextChangedListener(filterWatcher); // filterwatcher is a textWatcher
    return true;
  }
当我单击搜索图标时,会显示搜索编辑文本,用户可以开始键入内容。此外,主页按钮显示为“向上主页按钮”(带左箭头)

单击此箭头将使搜索文本视图消失,但如果用户已经开始键入内容,则当用户单击主页“向上”按钮后搜索文本视图不再可见时,列表视图将被过滤,并且不会重置

我的问题是:我如何截取点击“向上”按钮重置我的列表视图?我想这是我重新设置列表的唯一方法

我已经试过:

@Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case android.R.id.home:
        Log.d(Constants.LOG_TAG, "Home button clicked");
        return true;

      default:
        return super.onOptionsItemSelected(item);
    }
  }
当“主页按钮”显示为“向上”按钮时,它不工作

任何帮助都将不胜感激


提前感谢,

它应该与选择的选项项一起工作

确保您使用的是
com.actionbarsherlock.view.MenuItem


您还可以以相同的方式使用onMenuItemSelected(int featureId,MenuItem item)。

您需要在视图上实现
collapsableActionView
,以便接收
onActionViewCollapsed()
回调


您还应该升级到
dev
分支上的ActionBarSherlock版本,因为它在本机操作栏上使用时对可折叠的操作项有重要的修复。

如果我误解了,很抱歉,您想拦截的是android home物理按钮吗?@AndersMetnik我想拦截“向上”的点击ActionBar上的按钮(ActionBar Sherlock)不是物理按钮。请看一下此链接的底部图像(最左边的按钮):我正在使用com.actionbarsherlock.view.MenuItem,但点击“向上”按钮现在仍然被拦截,但如果按钮处于“正常”模式(显示为没有左箭头的简单图标),它现在被拦截还是没有被拦截?非常感谢,它解决了我的问题。实际上,我是这样实现的:
menuItemWrapper.setOnActionExpandListener(新的OnActionExpandListener(){//my logic here})公共布尔onMenuItemActionCollapse(MenuItem item)
方法中,我刚刚添加了重置搜索过滤器的代码。再次感谢:-)