Android之ListView长按列表项弹出菜单 给菜单项添加事件 获取上下文
来源:互联网 发布:天蝎网络第三季百度云 编辑:程序博客网 时间:2024/04/18 23:14
具体思路:
这里是先显示一个listview,长按listview的一个列表项,弹出一个菜单来,菜单有两个条目,
“更新该条”和“删除该条”,并且这两条都有监听事件,整体就像微信好友对话操作一样。
其中菜单项有一个获取上下文的操作:AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
这句也是用于列表项的。
具体代码如下:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);show = (ListView)findViewById(R.id.show);db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/music.db3", null);//显示列表showlist();// 添加长按点击弹出选择菜单show.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {menu.setHeaderTitle("选择操作");menu.add(0, 0, 0, "更新该条");menu.add(0, 1, 0, "删除该条");}});}//给菜单项添加事件@Overridepublic boolean onContextItemSelected(MenuItem item) {AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();//info.id得到listview中选择的条目绑定的idString id = String.valueOf(info.id);switch (item.getItemId()) {case 0:updateDialog(id); //更新事件的方法return true;case 1://System.out.println("删除"+info.id);deleteData(db,id); //删除事件的方法showlist();return true;default:return super.onContextItemSelected(item);}}
//显示列表项private void showlist(){Cursor cursor = null;try{cursor = db.rawQuery("select * from musiclist", null);inflateList(cursor);}catch(SQLiteException se){db.execSQL("create table musiclist(_id integer primary key autoincrement," +"music varchar(30) ,"+"singer varchar(30))");//查询cursor = db.rawQuery("select * from musiclist", null);inflateList(cursor);}finally{//cursor.close();}}
0 0
- Android之ListView长按列表项弹出菜单 给菜单项添加事件 获取上下文
- Android学习----------长按列表项弹出菜单,给菜单项添加事件,获取上下文
- Android学习长按列表项弹出菜单 给菜单项添加事件 获取上下文
- 长按listview弹出上下文菜单实现
- ListView:长按弹出上下文菜单(ContextMenu)
- 长按listview弹出上下文菜单实现
- Android创建浮动的上下文菜单,实现微信通讯录列表长按弹出菜单项功能
- android 组件长按弹出上下文菜单
- Android ListView长按创建上下文菜单
- ListView长按弹出菜单项
- Android ListView长按事件弹出菜单并获取选中的item
- Android长按事件及上下文菜单
- ListView单击和长按弹出上下文菜单(ContextMenu)
- listview长按弹出菜单并响应菜单事件
- Android 上下文菜单(长摁弹出)
- 长按listview弹出菜单
- Android — 长按ListView 利用上下文菜单(ActionMode) 进行批量事件处理
- 菜单(四)给ListView的item添加上下文菜单
- Unity shader中的法线详解
- 黑马程序员日记-15
- 单链表的链式表示和实现(含代码)
- map 遍历第二种方法 MapEntry
- jsp语法
- Android之ListView长按列表项弹出菜单 给菜单项添加事件 获取上下文
- Oracle监听器启动出错:OracleOraDb10g home1TNSListener服务启动后又停止
- 利用ssh传输文件
- 设计模式之装饰设计模式(一)类别
- linux centos7 cgroup 命令行操作
- BAT的校园大赛,都秀出了哪些肌肉?
- Machine Learning week 3 quiz: programming assignment-Logistic Regression
- django初探
- 【TCP/IP学习】TCP/IP协议族概貌