如何获取listview的item中的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取listview的item中的内容相关的知识,希望对你有一定的参考价值。

解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值.

大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView
中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中
值,就会出现数据紊乱,或者没数据.那么在生成EditText的时候要监控其值的变化.存储下来.
使用方法:

private List<Map<String, Object>> mCheckItemList = new ArrayList<Map<String, Object>>();

mAdapter = new ListEditorAdapter(this, mCheckItemList);

m_lvListView.setAdapter(mAdapter);

直接改变mCheckItemList中的数据,然后调用mAdapter.notifyDataSetChanged();就可以更新ListView的数据

当然,直接从mCheckItemList也可以获得用户在EditText中输入的数据.比较方便

其他:

ListView list= (ListView)findViewById(R.id.list);//获得listview
for (int i = 0; i < list.getChildCount(); i++)
LinearLayout layout = (LinearLayout)list.getChildAt(i);// 获得子item的layout
EditText et = (EditText) layout.findViewById(R.id.et);// 从layout中获得控件,根据其id
// EditText et = (EditText) layout.getChildAt(1)//或者根据位置,在这我假设TextView在前,EditText在后

System.out.println("the text of "+i+"'s EditText:----------->"+et.getText());
参考技术A 在listView里添加数据应该使用了BaseAdapter的子类,也就是某类适配器
而在将ListView中的item的控件和数据相联系是由BaseAdapter中的getView()实现的
一些简单的例子里面不用重写此方法,而比较复杂的item布局就需要去继承BaseAdapter,
然后在getView()方法里去实现

如何将ListView选中的item编号提取出来

刚接触编程可能问的不够专业,就是 选中了listview中的若干项后,如何判断选中了哪些项,并且将这些项目的位置(position?)的值给取出来

参考技术A

    通过ListView的SelectedItems属性来获取选中的Item集合;

    历遍Item集合获取集合中每一行子项的值;

    VB.NET代码:

    '历遍选中的项集合

    For Each item As ListViewItem In ListView1.SelectedItems

       '按列索引历遍项中的子项

        For i As Integer = 0 To ListView1.Columns.Count - 1

            '子项的文本=item.SubItems(i).Text

        Next

    Next

    C#.NET代码:

    //历遍选中的项集合

    foreach (ListViewItem item in listView1.SelectedItems)

        //按列索引历遍项中的子项

        for (int i = 0; i < listView1.Columns.Count; i++)

       

            //子项的文本=item.SubItems(i).Text

       

追问

有android代码吗

追答

安卓程序应该是基于JAVA的吧,那玩意完全不会,不好意思!

以上是关于如何获取listview的item中的内容的主要内容,如果未能解决你的问题,请参考以下文章

如何将ListView选中的item编号提取出来

C# listview如何复制选中的多行内容

C# 如何获取listview里面当前选中的item

如何在listview onClick()中从POJO获取项目?

如何获取ListView中Item的行数

listview点击item中的button改变item中的其它的控件的值