如何听取长按一下导航视图项?

时间:2015-09-30 12:21:22

标签: android navigationview

我正在使用设计库和appCompat库开发一个Android应用程序。当我试图长时间点击菜单项时,我遇到了一些问题。 我的应用程序有一个NavigationView作为侧面菜单,在这个导航视图中我有一个包含很多项目的菜单。 我可以听点击这些项目,但我听不到长按。 有人知道我该如何实现它?

感谢。

2 个答案:

答案 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 

    }
});