Ваш контент должен иметь listview с атрибутом id 'android.r.id.list'.

Я пишу программу, но когда я запускаю эту программу, у программы есть ошибка времени выполнения 🙁

Ошибка в LogCat:

your content must have a listview whose id attribute is 'android.r.id.list' 

Я установил android:id="@android:id/list" в ListView в файле activity_main.xml.

Я пишу свой код, пожалуйста, прочитайте это и помогите мне.

MainActivity.java:

 public class MainActivity extends ListActivity { private TextView text; private static final String[] items={"test", "test1" , "test2" , "test3" , "test4" , "test5" , "test6"}; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setListAdapter(new ArrayAdapter<String>(this,R.layout.row,R.id.label,items)); text=(TextView)findViewById(R.id.selection); } public void onListItemClick(ListView parent,View v,int position,Long id){ text.setText(items[position]); } } 

activity_main.xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:id="@+id/selection" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false"/> </LinearLayout> 

Row.xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/pic" android:padding="2dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/pic"/> <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout> 

Приветствия.

Сравните свой код, ничего не измените ….

Введите описание изображения здесь

основная деятельность

 package com.example.testdemo; import android.annotation.SuppressLint; import android.app.ActionBar; import android.app.Dialog; import android.app.ListActivity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends ListActivity { private TextView text; private static final String[] items = { "test", "test1", "test2", "test3", "test4", "test5", "test6" }; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_); setListAdapter(new ArrayAdapter<String>(this, R.layout.lable, R.id.label, items)); text = (TextView) findViewById(R.id.selection); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stub text.setText("" + items[position]); super.onListItemClick(l, v, position, id); } } } 

activity_main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/selection" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false" /> </LinearLayout> 

row.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/pic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="2dip" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> 

Расширьте Activity вместо ListActivity,

Затем получите его представление из файла макета

 ListView listView = (ListView) findViewById(R.id.listView); 

Затем вызовите listView.setAdapter(/*agruments*/); метод

Вместо вызова setListAdapter ().

Вам нужно получить экземпляр списка, например

 ListView lv=getListView(); 

Изменить эту строку

  android:id="@android:id/list" 

в

  android:id="@+id/list"