Android 如何突出显示长按以创建上下文菜单的项目?
我有一个RecyclerView,其中每个项目都可以长按以显示上下文菜单。我想突出显示长时间按下的项目,以便用户在选择菜单中的任何内容之前可以看到并直观地确认它是哪个项目(例如,他们不会错误地删除错误的项目) 我可以通过添加背景色使项目高亮显示ok,但如果用户随后关闭上下文菜单(或者如果所选菜单项不带用户进入新活动),则无法取消高亮显示 我有以下内容来创建菜单:Android 如何突出显示长按以创建上下文菜单的项目?,android,contextmenu,Android,Contextmenu,我有一个RecyclerView,其中每个项目都可以长按以显示上下文菜单。我想突出显示长时间按下的项目,以便用户在选择菜单中的任何内容之前可以看到并直观地确认它是哪个项目(例如,他们不会错误地删除错误的项目) 我可以通过添加背景色使项目高亮显示ok,但如果用户随后关闭上下文菜单(或者如果所选菜单项不带用户进入新活动),则无法取消高亮显示 我有以下内容来创建菜单: @Override public void onCreateContextMenu(ContextMenu menu, View v,
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
if (v.getId()==R.id.list_item) {
// Highlight selected item
v.setBackgroundColor(getResources().getColor(R.color.browser_actions_bg_grey));
// Inflate menu
MenuInflater inflater = this.getMenuInflater();
inflater.inflate(R.menu.menu_long_press_chart_name, menu);
}
}
我假设我需要在onContextMenuClosed
中执行某些操作,但我看不到需要执行的操作:
public void onContextMenuClosed(Menu menu) {
super.onContextMenuClosed(menu);
}
在
菜单
变量中,我看不到显示哪个项目打开了它的任何内容。检查上下文菜单关闭时提供通知的方法。检查上下文菜单关闭时提供通知的方法。通过在onContextMenuClosed中执行以下操作解决了此问题(mRecyclerView是保存所有项目的RecyclerView):
public void onContextMenuClosed(菜单){
super.onContextMenuClosed(菜单);
查看此项目;
对于(int ii=0;ii
通过在onContextMenuClosed中执行以下操作解决了此问题(mRecyclerView是保存所有项目的RecyclerView):
public void onContextMenuClosed(菜单){
super.onContextMenuClosed(菜单);
查看此项目;
对于(int ii=0;ii
谢谢,但这并没有真正引导我找到答案。谢谢,但这并没有真正引导我找到答案。
public void onContextMenuClosed(Menu menu) {
super.onContextMenuClosed(menu);
View thisItem;
for(int ii=0; ii< mRecyclerView.count(); ii++) {
thisItem = mRecyclerView.getChildAt(ii);
if(thisItem.getId() == R.id.list_item) {
thisItem.setBackgroundColor(getResources().getColor(R.color.fui_transparent));
}
}
}