D'abord, je decalre adaptateur en tant que variable globale:
public ListAdapter adapter = null;
Maintenant, j'initialiser mon listview (dans lequel je dois mettre les articles) dans la méthode onCreate(). La disposition de cette ListView est définie dans le fichier xml:
listView = (ListView)findViewById(R.id.myList);
Maintenant, je reçois toutes les valeurs à afficher dans un arraylist puis initialiser l'adaptateur avec cette arraylist (vous pouvez utiliser aussi bien toute autre technique de stockage de données):
adapter = new ListAdapter(availableMessageNotifications,MessageNotificationActivity.this);
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
Et puis je mis onItemClickListener sur tous les éléments de la liste:
OnItemClickListener listener = new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position,long id) {
//your code for an item clicked.
}
listView.setOnItemClickListener (listener);
J'espère que cela vous aidera.
Vous devez appeler notifyDataSetChanged() du thread d'interface utilisateur:
yourList.remove(position);
runOnUiThread(new Runnable() {
public void run() {
yourAdapter.notifyDataSetChanged();
}
});
thnx pour la réponse –
J'utilise une classe BaseAdapter et comment créer un nouvel adaptateur pour appeler notifyDataSetChanged()? C'est mon code BaseAdapter adapter = (BaseAdapter) list.getAdapter(); adapter.notifyDataSetChanged(); –
J'ai modifié ma réponse. S'il vous plaît voir si cela peut vous aider. –