В вашем контенте должен быть ListView с атрибутом id ‘android.R.id.list’

Я создал файл xml следующим образом:

   

и деятельность:

 public class ExampleActivity extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mainlist); } } 

Как вы видите, я еще ничего не сделал. Но я получаю ошибку:

В вашем контенте должен быть ListView с атрибутом id ‘android.R.id.list’

Хотя в моем xml есть строка android:id="@+id/list" .

В чем проблема?

Переименуйте id своего ListView таким образом,

  

Поскольку вы используете ListActivity ваш xml-файл должен указывать ключевое слово android , указывая на идентификатор.

Если вам нужен пользовательский ListView а не расширение ListActivity , вам нужно просто расширить Activity и иметь тот же идентификатор без ключевого слова android .

Вы должны иметь один mainlist.xml файле mainlist.xml с id как @android:id/list

  
  

это должно решить вашу проблему

Точный способ я исправил это на основе обратной связи выше, так как я не мог заставить его работать сначала:

activity_main.xml:

    

MainActivity.java:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addPreferencesFromResource(R.xml.preferences); 

preferences.xml:

       

Наследуйте class Activity вместо ListActivity, вы можете решить эту проблему.

 public class ExampleActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mainlist); } } 
  

Еще одна вещь, которая повлияла на меня: если у вас несколько тестовых устройств, убедитесь, что вы вносите изменения в макет, используемый устройством. В моем случае я потратил некоторое время на внесение изменений в xmls в каталоге «layout», пока не обнаружил, что мой более крупный телефон (который я переключил на полпути через тестирование) использовал xmls в каталоге «layout-sw360dp». Хмм!

  • Как получить выбранные элементы из списка Multi Select List
  • Android: кнопка «Радио» в пользовательском списке
  • Android - ListView для загрузки большего количества предметов по достижении конца
  • Цикл для загрузки изображений в виде списка по одному
  • notifyDataSetChanged () делает обновление списка и прокручивает подсказки назад
  • Как запустить onListItemClick в Listactivity с помощью кнопок в списке?
  • Использование ListView: как добавить представление заголовка?
  • Обнаружение прокрутки вверх и прокрутка вниз в ListView
  • android - listview получить просмотр позиции по позиции
  • Пользовательский адаптер Listview с фильтром Android
  • Android: реализация progressbar и «загрузка ...» для бесконечного списка, например Android Market
  • Давайте будем гением компьютера.