В вашем контенте должен быть 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». Хмм!

  • Удалить элементы ListView на Android
  • Множественный выбор в пользовательском ListView с CAB
  • Android: доступ к дочерним представлениям из списка ListView
  • Android - ListView для загрузки большего количества предметов по достижении конца
  • Как я могу обновить одну строку в ListView?
  • удалить несколько элементов в пользовательском listview
  • SearchView In ListView с пользовательским адаптером
  • Android: реализация progressbar и «загрузка ...» для бесконечного списка, например Android Market
  • При проверке флажка в listview также проверяются другие случайные флажки
  • Ошибка Listview: «В вашем контенте должен быть ListView с атрибутом id« android.R.id.list »
  • Android: кнопка «Радио» в пользовательском списке
  • Interesting Posts

    Игнорировать недопустимый самоподписанный сертификат ssl в node.js с https.request?

    Атрибуты HttpPost и HttpGet в MVC: зачем использовать HttpPost?

    Есть ли формат файла Windows с <CR> -сепаратированными записями (без символов <LF>)?

    Добавить новые элементы в начало списка на Android?

    Как установить интервал повторения локального уведомления на пользовательский интервал времени?

    RelativeLayout принимает полноэкранный режим для wrap_content

    Как я могу узнать, получает ли Windows рекламные объявления RADVD?

    Ошибка API Twitter 215

    Инъекция зависимостей против местоположения службы

    Неопределенный контейнер для хранения типично типизированных объектов в Java

    Memcached против Redis?

    Будет ли этот автомобильный адаптер питания этого ноутбука?

    Как сделать прямоугольник перемещаться по экрану с помощью привязок клавиш?

    Для чего нужны драйверы Windows \ etc \ services?

    найти недостаток вариант -printf, теперь что?

    Давайте будем гением компьютера.