Je rencontre des difficultés pour remplir des valeurs dans une liste, qui n'affiche actuellement aucune ligne.Listview non rempli après onPostExecute
Premièrement, je récupère des valeurs de ma table de base de données et les stocke dans des tableaux dans onPostExecute.
LikedListAdapter listAdapter = new LikedListAdapter(context, R.layout.liked_list_main, restID, restName, restAddr1, restAddr2, restImgPath);
lvPlaces.setAdapter(listAdapter);
Ces valeurs sont ensuite passées avec succès dans mon ListAdapter.
public LikedListAdapter(Context context, int resource, String[] restID, String[] restName, String[] restAddr1, String[] restAddr2, String[] restImgPath) {
super(context, resource);
this.context = context;
this.resource = resource;
this.restID = restID;
this.restName = restName;
this.restAddr1 = restAddr1;
this.restAddr2 = restAddr2;
this.restImgPath = restImgPath;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LinearLayout likedItemsView;
if(convertView==null) {
likedItemsView = new LinearLayout(getContext());
String inflater = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater vi;
vi = (LayoutInflater)getContext().getSystemService(inflater);
vi.inflate(resource, likedItemsView, true);
}
else {
likedItemsView = (LinearLayout) convertView;
}
ImageView restaurantImg = (ImageView)likedItemsView.findViewById(R.id.listItemThumbImg);
TextView restaurantName =(TextView)likedItemsView.findViewById(R.id.listItemTitle);
TextView restaurantDesc = (TextView)likedItemsView.findViewById(R.id.listItemSubText);
restaurantName.setText(restName[position]);
restaurantDesc.setText(restAddr1[position] + ", " + restAddr2[position]);
Picasso
.with(getContext())
.load(restImgPath[position])
.into(restaurantImg);
return likedItemsView;
}
Cependant, lorsque je lance l'application, la liste est vide. Lors du débogage, je remarque que les valeurs sont passées avec succès à mon listAdapter (lors du débogage il affiche les valeurs récupérées affichées dans le constructeur) mais il ne frappe jamais la méthode getView, où les valeurs sont définies pour chaque widget listview.
Y a-t-il quelque chose que je ne comprends pas ou dois-je appeler la méthode getView à un moment donné? Merci d'avance.
add listAdapter.notifyDataSetChanged(); après setAdapter – ZeroOne
Avez-vous essayé avec 'listAdapter.notifyDataSetChanged()' sous votre 'setAdapter'? –
@GustavoConde J'ai ajouté ceci, mais la liste n'est toujours pas remplie. Ran à travers le processus en utilisant le débogueur et un point d'arrêt dans la méthode getView mais il n'est jamais touché. –