首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何收听对导航视图项目的长时间单击?

如何收听对导航视图项目的长时间单击?
EN

Stack Overflow用户
提问于 2015-09-30 12:21:22
回答 2查看 2.1K关注 0票数 5

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

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-30 12:41:19

更新

您可以使用:

代码语言:javascript
复制
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 

    }
});
票数 -3
EN

Stack Overflow用户

发布于 2020-10-08 06:03:31

这样做,但是您必须将popup_layout.xml设置到菜单文件夹中,并写入标记<menu>,而不是约束布局之类的东西。

在我的Java类中,我为我的列表和重要的写R.menu.yourlayout编写了以下内容):

代码语言:javascript
复制
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;
    }
});

如果你有任何问题,请在评论中问我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32865956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档