从listview android中的特定位置获取文本

时间:2012-02-23 15:55:37

标签: android listview textview

我有一个带有custom_row的ListView,每行都有一个textView1和一个textView2,该列表现在有2条记录,我有一个不在列表中的按钮。    当我单击按钮时,我想从2条记录的textView2中获取文本。    有可能吗?

2 个答案:

答案 0 :(得分:1)

获取ListView(可能已经存储在对象中,这要归功于findViewById,或者通过调用ListActivity上的getListView())。

然后在列表视图中使用您想要的位置调用getItemAtPosition()

答案 1 :(得分:1)

我会选择一个快捷方式,ListView由使用数据集的Adapter填充。此数据集几乎可以是任何数据结构,例如Array,ArrayList等。

您定义的布局(例如custom_row)仅定义视图的结构,即“where”项目将显示在列表中的项目上。

另一方面,您仍有责任告知ListViewtextView1中显示的textView2“内容”。您可以使用将Adapter连接到数据集的ListView来执行此操作。通常情况下,ListView是数据集的一对一映射,即列表中的第一个项目是数据集中的第一个项目(我不知道您只使用两个项目,可能是一个数组)。

ListView上的getCount()来电Adapter,以了解将会有多少总观看次数。然后调用getView()为每个视图显示在屏幕上。在此方法中,您可以定义实际显示在列表中的单个视图中的内容(您的custom_row)。

现在您将知道数据集的哪个条目应填充ListView中的哪个视图,以便您可以在那里阅读它。例如,如果您的getView()执行了操作:

textView2.setText(getItem(position).getSomeTextField());

原始数据集是名为listDataSet

的ArrayList

您可以listDataSet.get(2).getSomeTextField()

注意:您必须管理数据集的范围,以便在您呼叫的任何地方都可以看到它。