栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android MenuItem 自定义长按事件的实现

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android MenuItem 自定义长按事件的实现

会出现一个Toast来提示Menu的名字,比如下图的更多。


有的时候我们不需要这个Toast,或者说长按MenuItem的时候需要做一些其他的事情,该怎么办呢?

实现过程

首先我们先获取该MenuItem的View:

View menu_more = findViewById(R.id.menu_more); 

然后给它设置一个长按监听器:

menu_more.setonLongClickListener(new View.onLongClickListener() {
 @Override
 public boolean onLongClick(View v) {
   // TODO: Implement this method
   return true;
 }
      });

在这个监听器中什么也不做,你会发现,长按MenuItem的Toast消失了!这时,长按还会有一个短振动,如果不需要振动,可以更改上方代码中return true;为return false;就可以了。当然,如果你有别的需求,都可以在监听器中实现。

注意事项

获取MenuItem的View需要在Menu创建之后才能获取,因此我们不能把代码写在onCreate()方法中,需要写在
onCreateOptionsMenu()方法中。另外,这段代码要放到新线程中处理才会生效。

相关代码

MainActivity相关代码:

@Override
  public boolean onCreateOptionsMenu(Menu menu){
    MenuInflater inflater=getMenuInflater();
    inflater.inflate(R.menu.menu_main,menu);
    new Handler().post(new Runnable(){
 @Override
 public void run(){
   View menu_more=findViewById(R.id.menu_more);
   menu_more.setonLongClickListener(new View.onLongClickListener(){
@Override
public boolean onLongClick(View v){
  // TODO: Implement this method
  return true;
}
     });
 }
      });
    return true;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/155681.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号