错误信息如下
09-19 15:06:50.267: ERROR/ArrayAdapter(602): You must supply a resource ID for a TextView
09-19 15:06:50.337: ERROR/AndroidRuntime(602): FATAL EXCEPTION: main
09-19 15:06:50.337: ERROR/AndroidRuntime(602): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.AbsListView.obtainView(AbsListView.java:1315)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1198)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.ListView.onMeasure(ListView.java:1109)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.View.measure(View.java:8171)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.View.measure(View.java:8171)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.View.measure(View.java:8171)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:526)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.View.measure(View.java:8171)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.View.measure(View.java:8171)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.os.Looper.loop(Looper.java:123)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at java.lang.reflect.Method.invokeNative(Native Method)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at java.lang.reflect.Method.invoke(Method.java:521)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at dalvik.system.NativeStart.main(Native Method)
09-19 15:06:50.337: ERROR/AndroidRuntime(602): Caused by: java.lang.ClassCastException: android.widget.TwoLineListItem
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340)
09-19 15:06:50.337: ERROR/AndroidRuntime(602):     ... 29 more源代码:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ListView 
android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/books"
android:divider="@drawable/no"
/>
<listView
android:id="@+id/list2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@drawable/ok"
/>
</LinearLayout>array.xml:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string-array name="books">
<item>数学</item>
<item>语文</item>
<item>外语</item>
</string-array>
</resources>Activity:package wang.ListView;import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;public class ListViewAndListActivityActivity extends Activity {
String[] arr = new String[]{
     "足球",
     "篮球",
     "羽毛球" };
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ListView list2 = (ListView)findViewById(R.id.list2);
        ArrayAdapter <String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2,arr);
        list2.setAdapter(arrayAdapter);
        
    }
}

解决方案 »

  1.   

    根据报错是组件textview没有定义,或在当前的layout中不存在
      

  2.   

    在一行中只显示一个TextView,应该用android.R.layout.simple_list_itme_1,就好了吧,android.R.layout.simple_list_itme_2的是显示两个TextView的,与你所给的数组就对应不上了
      

  3.   

    用baseadpater多好。。虽然代码多点,但是清晰明了,可定制程度也高。
      

  4.   

    还是不行
    android.R.layout.simple_list_itme_2是 每个列表项都是一个普通的TextView 只不过是字体比item_1大点