Сначала я decalre адаптер в качестве глобальной переменной:
public ListAdapter adapter = null;
Теперь я инициализировать мой ListView (в котором я должен поместить элементы) в OnCreate() метод. Раскладка для этого ListView определяются в файле XML:
listView = (ListView)findViewById(R.id.myList);
Теперь я получаю все значения, которые будут показаны в ArrayList, а затем инициализировать адаптер с этим ArrayList (вы можете использовать любой другой способ хранения данных, а также):
adapter = new ListAdapter(availableMessageNotifications,MessageNotificationActivity.this);
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
А потом я поставил onItemClickListener по каждому пункту списка:
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);
Я надеюсь, что это поможет.
Вы должны вызвать notifyDataSetChanged() из пользовательского интерфейса резьбы:
yourList.remove(position);
runOnUiThread(new Runnable() {
public void run() {
yourAdapter.notifyDataSetChanged();
}
});
Thnx за ответ –
я использую класс BaseAdapter и как я создаю новый адаптер для вызова notifyDataSetChanged()? Это мой код BaseAdapter adapter = (BaseAdapter) list.getAdapter(); adapter.notifyDataSetChanged(); –
Я отредактировал свой ответ. Посмотрите, может ли он вам помочь. –