2

我使用 ActionBarShellock 4.2。我认为当我单击关闭按钮时会调用 OnCloseListener(),但当我这样做时没有响应。

mSearchView.setOnCloseListener(new OnCloseListener() {
        @Override
        public boolean onClose() {
            Toast.makeText(mContext, "OnCloseListener", 1000).show();
            return false;
        }
    });

我试图调用 getChildAt(index) 来获取关闭按钮。然后我认为这是不安全的,因为 SearchView 不是我自己的代码。那么,如何捕获关闭事件?我做错了吗?
提前致谢。

在此处输入图像描述

4

1 回答 1

3

只需获取您的 menuItem,然后 setOnActionExpandListener。然后覆盖未实现的方法。

@Override
public boolean onMenuItemActionExpand(MenuItem item) {

    return true;
}

@Override
public boolean onMenuItemActionCollapse(MenuItem item) {

   //do something on close
   // you must return true
    return true;
}

哈克完成了祝你好运

于 2013-07-08T12:47:12.200 回答