Android ListView setAdapter problème
Je suis en train de lier des données à faire une listview sur android, mais je ne suis pas en mesure de.
J'ai vu un peu de code sur internet et cela a fonctionné, mais je ne sais pas pourquoi, et je ne veux pas créer un nouveau contrôle ListView sur la mouche, je veux utiliser celui qui est répertorié sur la main.xml
Pourquoi je peux le faire:
ListView lv = new ListView(this);
lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,PEOPLE));
setContentView(lv);
Mais je ne peux pas faire ça:
ListView listPessoas = (ListView) findViewById(R.id.listPessoas);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.id.listPessoas, PESSOAS);
listPessoas.setAdapter(adapter);
- Pourquoi pas? Ce qui se passe?
Vous devez vous connecter pour publier un commentaire.
Qu'est-ce que
R.id.pessoas
??Cela fonctionne très bien pour moi:
Votre erreur ici est lors de la création de la nouvelle
ArrayAdapter
. Vous êtes de passage àR.id.listPessoas
que la ligne de vue à utiliser pour chaque ligne. C'est l'id de laListView
. Le adaptateur est à la recherche d'un modèle id contenant un texte en vue d'être utilisé pour chaque ligne de la liste. Modifier laR.id.listPessoas
àandroid.R.layout.simple_list_item_1
et votre code devrait fonctionner. Lesimple_list_item_1
mise en page est juste unTextView
que les données devront être lié à.Ce que vous avez écrit n'est pas correct, le second paramètre dans le tableau adaptateur constructeur devrait être la mise en page simple pour chaque élément de la liste n'est pas nouveau votre liste.
Si vous avez personnalisé complexe de mise en page pour votre élément de la liste, vous devez écrire un adaptateur personnalisé ainsi.
Si vous obtenez l'erreur.
getcontexteapplication(); va travailler au lieu de "il".