博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListView中单击其中一项创建ContextMenu,如何获取该localBookList...
阅读量:6239 次
发布时间:2019-06-22

本文共 1375 字,大约阅读时间需要 4 分钟。

hot3.png

如果是在ListView进行创建的上下文菜单,那么如何获取ListView所单击列项的数据呢?

有两种方式可获取:

1、           可以通过在长时间点击OnLongItemClick方法事件,将所单击的View数据进行临时保存,成为一个全局变量,那么在一个Activity里面的所有方法内均可访问

2、           可以通过onContextItemSelected方法里面进行获取ListView某一项的数据,

a)      AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

b)      String name = ((TextView) info.targetView.findViewById(R.id.bookName)).getText().toString();

这种方式获得ListView布局文件中对应的数据

localBookList.setOnItemLongClickListener(new OnItemLongClickListener() {	@Override	public boolean onItemLongClick(AdapterView
parent, View view,int position, long id) { list_Temp = (HashMap
) parent.getItemAtPosition(position);//list_Temp是全局变量 return false; } });

如此,在创建ContextMenu的时候,首先会将数据存储到临时的list_Temp全局变量中,因此在ContextMenu的子Menu里均可访问到该ListView的子项的数据。另外也可以采用:

@Override	public boolean onContextItemSelected(MenuItem item) {		AdapterContextMenuInfo info = (AdapterContextMenuInfo) item				.getMenuInfo();		String name = ((TextView) info.targetView.findViewById(R.id.bookName))				.getText().toString();		switch (item.getItemId()) {		case BOOK_CONTEXT_MENU_DETAIL:Toast.makeText(AndroidBook_MainActivity.this, name, 3).show();			break;		default:			break;		}		return super.onContextItemSelected(item);	}

这种方式只能获取list_item.xml里面定义的控件对应的值,无法获取其他的值,比如说:ListView控件里面有书名,。。。等等但是没有文件在SD卡里面的路径,除非将路径的字符串也存储到ListView里面去。

转载于:https://my.oschina.net/u/583392/blog/75180

你可能感兴趣的文章
Git中的AutoCRLF与SafeCRLF换行符问题
查看>>
通过Process启动外部程序
查看>>
那些在django开发中遇到的坑
查看>>
cocos2dx lua 绑定之二:手动绑定自定义类中的函数
查看>>
IE CSS HACK
查看>>
北风设计模式课程---深入理解[代理模式]原理与技术
查看>>
php课程 4-14 数组如何定义使用
查看>>
winform托盘时,要运行一个实例,解决办法
查看>>
vagrant up 失败解决办法
查看>>
mysql AM/PM to 24 hours fromat
查看>>
远程唤醒UP Board
查看>>
网页打印
查看>>
Loading——spin.js
查看>>
Hadoop完全分布式环境搭建(四)——基于Ubuntu16.04安装和配置Hadoop大数据环境...
查看>>
Mule ESB工程的部署
查看>>
分离被碰撞物体, 求碰撞冲量
查看>>
js移动端 可移动滑块
查看>>
【kruscal】【最小生成树】poj3522 Slim Span
查看>>
jquery ajax提交表单数据的两种方式
查看>>
hdu 2102 A计划-bfs
查看>>