博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取Android控件Listview中被选中的某一列的值
阅读量:5836 次
发布时间:2019-06-18

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

hot3.png

 废话不多说,直接上代码解释。主要解决如何获取ListView中被选中Item中某一列的值。

  1.public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)//listview的监听函数的实现函数

     注意上面这句话,其中函数中的第一个参数和第三个参数是解决问题的关键。第一个参数代表listview做数据适配的adapter,第三个参数代表被选中的listview中item的position值。

 2.先介绍最简单的获取选中Item id的方法,经过上面的介绍,利用arg2参数获取位置,调用getItemIdAtPosition函数

    long selected_id =arg0.getItemIdAtPosition(arg2);

     selected_id即为选中item的id值。

 3.在很多情况下我们不需要id值,而是需要某一列的值,这个就要根据为listview做数据绑定的adapter的类型而进行不一样的操作

  情况一:使用SimpleAdapter,HashMap作为数据源

       final SimpleAdapter adapter = new SimpleAdapter(this, getData2(),R.layout.item1, new String[] {"time"},new int[] {R.id.time});//定义SimpleAdapter

       mListView2.setAdapter(adapter);//装配数据

      在这种情况下:我们需要使用如下代码来获得某一列的数据

         HashMap<String,String> map=(HashMap<String,String>)arg0.getItemAtPosition(arg2);

         String timeString = map.get("time");

  情况二:使用SimpleCursorAdapter作为数据源,此时AdapterView<?> arg0的类型为Cursor游标

      Cursor cursor= (Cursor)arg0.getItemAtPosition(arg2);

      String sortString = cursor.getString(cursor.getColumnIndex("time"))

转载于:https://my.oschina.net/u/1034599/blog/130185

你可能感兴趣的文章
Apache Spark 章节1
查看>>
phpcms与discuz的ucenter整合
查看>>
Linux crontab定时执行任务
查看>>
mysql root密码重置
查看>>
33蛇形填数
查看>>
选择排序
查看>>
SQL Server 数据库的数据和日志空间信息
查看>>
前端基础之JavaScript
查看>>
自己动手做个智能小车(6)
查看>>
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
eclipse集成weblogic开发环境的搭建
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
我的友情链接
查看>>
写Use Case的一种方式,从oracle的tutorial抄来的
查看>>
【C#】protected 变量类型
查看>>