0

我正在关注一个关于的教程ArrayAdapter,我有这个名为的 xml 文件list_item.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
    android:id="@+id/icon"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:contentDescription="@string/image"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" />

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/icon"
    android:paddingBottom="10dp"
    android:textColor="#CC0033"
    android:textSize="16dp" />

<TextView
    android:id="@+id/desc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/title"
    android:layout_toRightOf="@+id/icon"
    android:paddingLeft="10dp"
    android:textColor="#3399FF"
    android:textSize="14dp" />

</RelativeLayout>

并且Activity带有此代码的内部会在标有“X”的行上生成错误

convertView = mInflater.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);         X
holder.txtTitle = (TextView) convertView.findViewById(R.id.title);       X
holder.imageView = (ImageView) convertView.findViewById(R.id.icon);      X
convertView.setTag(holder);

代码是从教程中复制的,但我注意到它适用于activity_main.xml.

4

1 回答 1

0

不确定这会对您有所帮助(更好地显示您的堆栈跟踪),但您是否尝试过像在通货膨胀期间一样投射您的convertView字段?RelativeLayout

如:

convertView = (RelativeLayout) mInflater.inflate(R.layout.list_item, null);

...这也意味着,是convertViewtype RelativeLayout,如您的布局 xml 所示?

最后,这件事发生在我身上几次,实际上会在编译级别引起严重问题,请确保R您导入的类是yourpackage.R, not android.R,或者两者都需要。否则很可能是您正在寻找错误的布局。

于 2013-08-01T14:25:31.080 回答