Comment convertir JSONArray à la liste?
J'ai un code qui ne suit -
- Se connecter à un service web via HttpClient pour fichier PHP
- Retourne un résultat d'une requête SQL
- Retourne le format est un jArray a JSONArray)
for(int i=0; i < jArray.length() ; i++) {
json_data = jArray.getJSONObject(i);
int id=json_data.getInt("id");
String name=json_data.getString("name");
Log.d(name,"Output");
}
Quand je regarde le LogCat, je vois tous les "noms" de la requête, Chaque enregistrement est imprimé. J'ai juste besoin de brancher ces résultats dans une ListView. Comment puis-je accomplir ?
PS - je n'ai pas de catégorie distincte pour un ArrayAdapter. Serait-ce la raison ?
Il y a des tonnes de question similaire posée avant sur SO - avez-vous une navigation à travers ceux-là? Si tout ce que vous voulez faire, c'est montrer une liste de noms, il n'y a pas besoin de sous-classe ArrayAdapter.
OriginalL'auteur Beetle | 2012-02-25
Vous devez vous connecter pour publier un commentaire.
Si vous voulez juste pour afficher une liste de textViews vous n'avez pas besoin de modifier quoi que ce soit, vous pouvez simplement ajouter tous les éléments dans une liste de tableaux et l'utilisation d'un arrayAdapter.
Mettre un affichage de liste dans votre xml qui est nommé android:liste et ensuite créer votre arrayAdapter avec le textView vous souhaitez utiliser.
Après que tout ce que vous avez à faire est d'appeler setListAdapter(mArrayAdapter) et il devrait remplir votre liste.
espérons que cette aide!
OriginalL'auteur ByteMe
vous pouvez prendre un coup d'oeil à cette page web a un exemple à faire exactement ce que vous cherchez:
http://p-xr.com/android-tutorial-how-to-parse-read-json-data-into-a-android-listview/
Fondamentalement, à l'intérieur de votre boucle où l'impression les noms, vous devez être le chargement d'une liste de tableau contenant les valeurs que vous souhaitez insérer à la liste plus tard.
Notez que l'exemple utilise les éléments suivants:
ArrayList< HashMap < String, String > > mylist = new ArrayList < HashMap < String, String > > ();
Et vous avez un entier et une chaîne de caractères à ajouter à la structure de sorte que vous pourriez tout simplement tourner cette ID dans une Chaîne de caractères et le problème est résolu.
Ensuite, vous pouvez utiliser une liste de l'adaptateur sans la nécessité de la création d'une catégorie distincte:
ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.main, new String[] { "name", "id" }, new int[] { R.id.item_title, R.id.item_subtitle });
Où "nom" et "id" seront les clés de votre carte pour le nom et l'id de valeurs retournées par json et item_title, item_subtitle le point de vue de "s'adapter" le texte.
Espère que j'ai été assez clair, jetez un oeil à l'exemple de toute façon c'est assez simple.
OriginalL'auteur unbekant
Je n'aime pas à reconfigurer les données alors que j'ai déjà dans un tableau JSON
c'est donc mon code ... c'est assez simple pour moi.....espérons que cela aide
OriginalL'auteur Luca Rocchi
Placer les données dans un Tableau et utiliser ArrayAdapter lier des données à un les éléments de la liste.
Voir l'article sur:
http://www.josecgomez.com/2010/05/03/android-putting-custom-objects-in-listview/
OriginalL'auteur Mariusz Jamro