Utworzyłem taki plik xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list" >
</ListView>
i aktywność:
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);
}
}
Jak widzisz, nic innego nie zrobiłem. Ale otrzymuję błąd:
Treść musi mieć ListView, którego atrybut id to „android.R.id.list”
Mimo że mam android:id="@+id/list"
wiersz w moim xml.
Jaki jest problem?
android
android-listview
Isa Kuru
źródło
źródło
@android
, Eclipse mówilist cannot be resolved or is not a field
Powinieneś mieć jeden widok listy w swoim
mainlist.xml
pliku o identyfikatorze jako@android:id/list
źródło
to powinno rozwiązać twój problem
źródło
Dokładny sposób, w jaki naprawiłem to na podstawie powyższych opinii, ponieważ na początku nie mogłem go uruchomić:
activity_main.xml:
MainActivity.java:
preferencje.xml:
źródło
Dziedzicz klasę działania zamiast ListActivity , możesz rozwiązać ten problem.
źródło
źródło
Jeszcze jedna rzecz, która mnie dotknęła: jeśli masz wiele urządzeń testowych, upewnij się, że wprowadzasz zmiany w układzie używanym przez urządzenie. W moim przypadku spędziłem trochę czasu na wprowadzaniu zmian w plikach XML w katalogu „layout”, aż odkryłem, że mój większy telefon (na który przełączyłem się w połowie testów) używa plików XML w katalogu „layout-sw360dp”. Grrr!
źródło