J'ai créé un fichier xml comme celui-ci:
<?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>
et une activité:
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);
}
}
Comme vous le voyez, je n'ai rien fait d'autre. Mais j'obtiens l'erreur:
Votre contenu doit avoir un ListView dont l'attribut id est «android.R.id.list»
Même si j'ai la android:id="@+id/list"
ligne dans mon xml.
Quel est le problème?
android
android-listview
Isa Kuru
la source
la source
@android
, Eclipse ditlist cannot be resolved or is not a field
Vous devriez avoir une vue de liste dans votre
mainlist.xml
fichier avec l'identifiant comme@android:id/list
la source
Cela devrait résoudre votre problème
la source
Comment j'ai résolu ce problème en me basant sur les commentaires ci-dessus, car je ne pouvais pas le faire fonctionner au début:
activity_main.xml:
MainActivity.java:
preferences.xml:
la source
Hériter de la classe d' activité au lieu de ListActivity, vous pouvez résoudre ce problème.
la source
la source
Une autre chose qui m'a affecté: si vous avez plusieurs appareils de test, assurez-vous que vous apportez des modifications à la disposition utilisée par l'appareil. Dans mon cas, j'ai passé un certain temps à apporter des modifications aux fichiers XML dans le répertoire "layout" jusqu'à ce que je découvre que mon plus gros téléphone (que je suis passé à la moitié des tests) utilisait des fichiers XML dans le répertoire "layout-sw360dp". Grrr!
la source