我正在用设计库和appCompat库开发一个安卓应用程序。我正面临一些问题时,试图收听长时间点击菜单项。我的应用程序有一个NavigationView作为边菜单,在这个导航视图中,我有一个包含很多项目的菜单。我可以听这些项目的点击,但我不能听长的点击。有人知道我该如何实现它吗?
谢谢。
发布于 2015-09-30 12:41:19
更新
您可以使用:
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
}
});发布于 2020-10-08 06:03:31
这样做,但是您必须将popup_layout.xml设置到菜单文件夹中,并写入标记<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;
}
});如果你有任何问题,请在评论中问我。
https://stackoverflow.com/questions/32865956
复制相似问题