我有一个 ListView
。 ListView
的每一行包含 2 个 TextView
。
我已经为 ListView
实现了 setOnItemClickListener
,如下所示:
list.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// String item = list.getItemAtPosition(position).toString();
TextView item =(TextView)list.getItemAtPosition(position);
}});
但它给我 'ClassCastException' 如下:
java.lang.ClassCastException: java.lang.Integer
at com.idealake.lic.Activities.PlansActivity$1.onItemClick(PlansActivity.java:62)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.ListView.performItemClick(ListView.java:3513)
我的疑问是:
- 如何检索
ListView
行中的TextView
内容。 - 如何在检索数据时区分第一个
TextView
和第二个TextView
?
感谢任何帮助。
最佳答案
使用findViewbyId()
而不是,
TextView item =(TextView)list.getItemAtPosition(position);
试试这个,
TextView item =(TextView)list.findViewbyId(R.id.textviewID);
如果您发现这不起作用,那么只需像这样用您的 View 对象尝试一下,
TextView item =(TextView)view.findViewbyId(R.id.textviewID);
Bcoz 在 ItemCLick 监听器上,将为您提供您尝试引用的 View 中的确切元素。所以你不需要在这里再次使用位置来找到你的 TextView。
关于android - 检索 Listview 行数据(由两个 TextView 组成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11063397/