java - ArrayAdapter 要求资源 ID 为 TextView

标签 java android

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="22px"
        android:layout_height="22px"
        android:layout_marginLeft="4px"
        android:layout_marginRight="10px"
        android:layout_marginTop="4px"
        android:src="@drawable/ic_launcher" >
    </ImageView>

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/label"
        android:textSize="20px" >
    </TextView>

</LinearLayout> 

上面是我的布局“messages.xml

public class TabClass extends ListFragment {    

    @Override
      public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        String[] values = new String[] { "label1", "label2", "label3"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
            R.layout.messages, values);
        setListAdapter(adapter);
      }

      @Override
      public void onListItemClick(ListView l, View v, int position, long id) {
        // Do something with the data

      }

}

当我尝试编译应用程序时出现此错误 "ArrayAdapter requires the resource ID to be a TextView"

最佳答案

您的 messages.xml 包含带有 ImageView 和 TextView 的 LinearLayout。相反,它应该只包含一个 TextView。请参阅文档 here 。 ArrayAdapter 构造函数的第二个参数采用:

The resource ID for a layout file containing a TextView to use when instantiating views.

提示:您可能想要创建一个自定义适配器类(它扩展了 BaseAdapter)而不是 ArrayAdapter 类。

关于java - ArrayAdapter 要求资源 ID 为 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15526222/

相关文章:

android - 如何在默认的 android 键盘中添加键/自定义键

android - NotificationCompat.Builder setLargeIcon() 不工作?

java - 一个类如何同时扩展和实现其他类和接口(interface)?

java - 从字符串中提取数字和运算符

java - 模型类 bean 没有被填充

javascript - Android - 允许 XMLHttpRequest 到 API 级别 < 16 上的本地文件吗?

java - 检测并删除 ArrayList 中的重复项?

android - 如何在 webview 和 chrome 中同步 cookie android

java - Java 中的缩进 XML 是否应该遵守 `xml:space="保留“`?

Java在循环中动态更改函数名称