2 myc 100 myc_100 于 2013.03.13 14:06 提问

自定义的 ListView 布局摧毁 activity

在 Android 中自定义了一个 ListView 布局。使用的下面的代码:

public class CheckInList extends ListActivity {
...
    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        mAdapter = new ArrayAdapter<String>(this, R.layout.checkinlist_item, R.id.checkinlist_item_text, mNames);
        setListAdapter(mAdapter);
        ...
    }
}

checkinlist_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeView xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:background="@drawable/checkinlist_item_bg">
    <TextView android:id="@+id/checkinlist_item_text"
              style="@style/RegisterText" />
</RelativeView>

如果我使用 android.R.layout.simple_list_item_1 来代替上面的模版,程序可以正常运行。然而当我使用上面的代码,activity 就会奔溃。上面的程序是在 Android 1.5 上运行的。
为什么 activity 会崩溃呢?

2个回答

xiaoyaovsxin
xiaoyaovsxin   2013.03.13 16:26
已采纳
mAdapter = new ArrayAdapter<String>(this, R.layout.checkinlist_item, R.id.checkinlist_item_text, mNames);

有问题,你应该这样:

mAdapter = new ArrayAdapter<String>(this, R.layout.checkinlist_item, new String[]{mNames}, new int[]{R.id.checkinlist_item_text});
CSDN_Ask
CSDN_Ask   2013.03.25 15:20

是因为 RelativeView 不存在吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!