我正在使用设计库和appCompat库开发一个Android应用程序。当我试图长时间点击菜单项时,我遇到了一些问题。 我的应用程序有一个NavigationView作为侧面菜单,在这个导航视图中我有一个包含很多项目的菜单。 我可以听点击这些项目,但我听不到长按。 有人知道我该如何实现它?
感谢。
答案 0 :(得分:0)
这样做,但是您必须将popup_layout.xml设置到 MENU 文件夹中,并写入标签<menu>
,而不要约束布局或类似内容。
在我的Java类中,我为列表编写了此代码,并重要地写了R.menu.yourlayout):
listView = (ListView) findViewById(R.id.listView);
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
PopupMenu p = new PopupMenu(ViewListContents.this, v);
MenuInflater inflater = p.getMenuInflater();
inflater.inflate(R.menu.popup_layout, p.getMenu());
p.show();
return true;
}
});
如果您有任何问题,请在评论中问我。
答案 1 :(得分:-2)
<强>更新强>
您可以使用:
Menu myMenu = navigationView.getMenu();
MenuItem myItem = myMenu.findItem(R.id.my_item);
myItem.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// do something
}
});