J'essaie de configurer un gridview qui sera actualisé lorsqu'une nouvelle recherche est exécutée.Android - Mise à jour GridView sur le bouton cliquez sur
ceci est mon appel à mettre en place le gridview
final GridElement_Results adapter = new GridElement_Results(this, savedInstanceState, track_name, album_name, track_num, album_id, album_link);
grid = (GridView)findViewById(R.id.grid_results);
grid.setAdapter(adapter);
Comme vous pouvez le voir, je passe un tas de tableaux.
En cliquant sur un bouton, la fonction getTracks() est appelée, ce qui permet d'obtenir de nouvelles données du serveur. Les tableaux sont mis à jour avec les nouvelles données, que j'ai vérifié fonctionne.
icon_activesearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getTracks("newsearchterm");
adapter.notifyDataSetChanged();
grid.invalidateViews();
}
}
);
Et puis j'appelle adapter.notifyDataSetChanged() et grid.invalidateViews() pour mettre à jour et de redessiner la grille. Mais évidemment, je fais quelque chose de mal ici. Est-ce parce que je définis l'adaptateur comme final? Pour y accéder avec la méthode onClick, je dois la définir en finale.
Que dois-je changer pour le faire fonctionner.
ajouter 'getTracks()' méthode –
-vous passer les nouveaux résultats à votre carte? – Francesc
de ce que je vois vous ne passez pas un objet de type List, ArrayList ou Array à votre carte. Comment exactement l'adaptateur obtient-il les données qu'il montre? – Anonymous