gpt4 book ai didi

android - 如何拦截 ActionBarSherlock 中 "Up"(主页按钮)按钮的点击?

转载 作者:行者123 更新时间:2023-11-29 00:37:29 24 4
gpt4 key购买 nike

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

我的搜索编辑文本正在筛选 Activity 中的 ListView。当用户开始输入一些字符时,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;
}

当我单击搜索图标时,会显示搜索编辑文本,用户可以开始输入内容。此外,主页按钮显示为“向上主页按钮”(带有向左箭头)。

单击此箭头将使搜索 TextView 消失,但如果用户已经开始输入内容,则 ListView 将被过滤并且不会在用户单击后搜索 TextView 不再可见时重置主页“向上”按钮。

我的问题是:如何拦截点击“向上”按钮来重置我的 ListView ?我认为这是我可以重置列表的唯一方法。

我已经试过了:

@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);
}
}

当“主页按钮”显示为“向上”按钮时,它不起作用。

如有任何帮助,我们将不胜感激。

提前致谢,

最佳答案

您需要在 View 上实现 CollapsibleActionView 才能接收 onActionViewCollapsed() 回调。

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

关于android - 如何拦截 ActionBarSherlock 中 "Up"(主页按钮)按钮的点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com