android - 检索 Listview 行数据(由两个 TextView 组成)

标签 android android-layout android-listview classcastexception onclicklistener

我有一个 ListViewListView 的每一行包含 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/

相关文章:

java - 从 ListView 单击获取自定义对象

android - 芯片组边距和多线

android - 如何在 ANDROID 自定义 Listview Adapter 中使用 setonitemclicklistener

java - 通过选择模式在 ListView 中添加条目

Android EditText 在 ListView 中滚动时丢失内容

android - 当名称为数字时,Resources.getIdentifier() 具有意外行为

java - Realm 中持久数据的模式?

android - 在没有 GET_CONTACTS 权限的情况下获取 Google+ 电子邮件

java - .NET AES 加密和 Android 解密

android - 如何为我的离线应用程序使用大尺寸图像