PopupMenu-使用实例跟监听事件
今天需要给一个控件添加弹出菜单功能。就顺便学习了下popupMenu的使用,记录下来。
它的使用其实也非常的简单,看如下代码
popupMenu = new PopupMenu(MainActivity.this, eText);
popupMenu.getMenuInflater().inflate(R.menu.main,popupMenu.getMenu());
Menu menu = popupMenu.getMenu();
menu.findItem(R.id.search).setVisible(false);
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override
public boolean onMenuItemClick(MenuItem arg0) {
// TODO Auto-generated method stub
bt3.setText("onMenuItemClick");
return false;
}
});
popupMenu.setOnDismissListener(new OnDismissListener() { @Override
public void onDismiss(PopupMenu arg0) {
// TODO Auto-generated method stub
eText.setText("ondismiss");
}
}); popupMenu.show();
具体步骤
1.创建一个 PopupMenu 实例
//第二个参数绑定的是控件,也就是列表从这个控件的位置弹出
popupMenu = new PopupMenu(MainActivity.this, eText);
2.给这个菜单添加menu列表
//这个是绑定列表,也就是弹出的菜单列表
popupMenu.getMenuInflater().inflate(R.menu.main,popupMenu.getMenu());
3.添加列表监听事件
popupMenu.setOnMenuItemClickListener
4.添加popupmenu消失事件监听
//当菜单消失的时候,这个方法会触发
popupMenu.setOnDismissListener
5.显示列表,这个一定要有,否则不会显示菜单
popupMenu.show();
//隐藏的话
popupMenu.dissmiss();
如果你想操作添加的menu里的item,你可以使用
Menu menu = popupMenu.getMenu();
menu.findItem(R.id.search).setVisible(false);
来得到每一个item来进行操作
PopupMenu-使用实例跟监听事件的更多相关文章
- 横向滑动的listview和其中用到的触摸监听事件详解
一.首先把横向的listview的代码放上来 HorizontalListView: package com.common.cklibrary.utils.myview; import java.ut ...
- JAVA JComboBox的监听事件(ActionListener、ItemListener)
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...
- Android——监听事件总结
各种监听事件 1.按钮 Button(1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOnL ...
- vue v-on监听事件
在html或jsp页面中我们总能碰到监听DOM事件来触发javaScript代码,下面我们就简单聊聊Vue.js中的监听事件是怎么处理的. 在vue.js中监听事件是通过v-on指令来实现的,先看一下 ...
- vue-wacth监听事件
2019-08-05 0:20 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化. 以下实例通过使用 watch 实现计数器:(此时我就想了一下,好像绑定点击事件,也 ...
- DOM 事件监听 事件冒泡 事件捕获
addEventListener() 方法 实例: // 当用户点击按钮时触发监听事件: document.getElementById("myBtn").addEventList ...
- node.js绑定监听事件EventEmitter类
Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件,如下: // 引入 events 模块 var events = r ...
- Android中Button的五种监听事件
简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activ ...
- Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)
第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...
随机推荐
- Spring SpEL in JSP and Assign SpEL value to Java variable in JSP
Spring SpEL in JSP and Assign SpEL value to Java variable in JSP method 1 use----ServletContextAttri ...
- Signal programming
Signal programming is used in the same sense as dataflow programming, and is similar to event-driven ...
- PL/SQL Developer 关闭Sql窗口快捷键
preferences->keyconfigration->file/close然后设置你喜欢的按键就行了.(ps:这个close是关闭当前活动的那一个页面)
- 用 while 循环做个小游戏
import random #可输入次数 flag = 0 #生成一个1到10之间的随机整数 res = random.randint(1,10) #判读三次输入机会 while(flag<3) ...
- Mysql 主从主主复制总结(详细)
环境:Centos 6.9,Mysql 8.0 配置准备:1.为Centos配置好网络,使用远程工具连接. 2.安装mysql,途径不限.mysql8.0和5.7区别不大,8.0在配置主从的时候默认开 ...
- iOS——扬声器与听筒的切换
1.扬声器模式: NSError *error; [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPor ...
- 【Codeforces Beta Round #45 D】Permutations
[题目链接]:http://codeforces.com/problemset/problem/48/D [题意] 给你n个数字; 然后让你确定,这n个数字是否能由若干个(1..x)的排列连在一起打乱 ...
- sql server 2000 自动收缩数据库大小
转载.......http://mars968.blog.163.com/blog/static/7400033200941642356258/ SQLServer2000压缩日志及数据库文件 ...
- Chrome无界面浏览模式与自定义插件加载问题
环境:Python 3.5.x + Selenium 3.4.3 + Chromedriver 2.30 + Chrome 60 beta或Chromium Canary 61 + WIN10 Chr ...
- ArcGIS api for javascript——查询没有地图的数据
描述 本例展示了用户能够从没有显示服务的地图服务查询数据.大部分地图服务包含属性信息的数据集,数据集能够被查询并显示在一个简单的列或表格里. 本例按提供的州名称查询USA人口普查数据,然后显示关于州的 ...