我有一个带有custom_row的ListView,每行都有一个textView1和一个textView2,该列表现在有2条记录,我有一个不在列表中的按钮。 当我单击按钮时,我想从2条记录的textView2中获取文本。 有可能吗?
答案 0 :(得分:1)
获取ListView(可能已经存储在对象中,这要归功于findViewById,或者通过调用ListActivity上的getListView())。
然后在列表视图中使用您想要的位置调用getItemAtPosition()。
答案 1 :(得分:1)
我会选择一个快捷方式,ListView
由使用数据集的Adapter
填充。此数据集几乎可以是任何数据结构,例如Array,ArrayList等。
您定义的布局(例如custom_row
)仅定义视图的结构,即“where”项目将显示在列表中的项目上。
另一方面,您仍有责任告知ListView
和textView1
中显示的textView2
“内容”。您可以使用将Adapter
连接到数据集的ListView
来执行此操作。通常情况下,ListView
是数据集的一对一映射,即列表中的第一个项目是数据集中的第一个项目(我不知道您只使用两个项目,可能是一个数组)。
ListView
上的getCount()
来电Adapter
,以了解将会有多少总观看次数。然后调用getView()
为每个视图显示在屏幕上。在此方法中,您可以定义实际显示在列表中的单个视图中的内容(您的custom_row)。
现在您将知道数据集的哪个条目应填充ListView
中的哪个视图,以便您可以在那里阅读它。例如,如果您的getView()
执行了操作:
textView2.setText(getItem(position).getSomeTextField());
原始数据集是名为listDataSet
您可以listDataSet.get(2).getSomeTextField()
注意:您必须管理数据集的范围,以便在您呼叫的任何地方都可以看到它。