Ich habe eine ListView, die mir einige Daten durch ein Array zeigt (das ist in einer anderen Klasse und ich bin darauf zugreifen durch sein Objekt).Android Listenansicht aktualisieren
Immer wenn ich ein Element aus dem ListView über das Kontextmenü lösche, wird die Liste nicht aktualisiert, aber das Element wird aus dem Array gelöscht. Wie kann ich die Liste aktualisieren, um dies anzuzeigen?
Code:
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
if (v.getId()==R.id.mainListView) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
post=info.position;
menu.setHeaderTitle(stocks[info.position]);
String[] menuItems = stt;
for (int i = 0; i<menuItems.length; i++) {
menu.add(Menu.NONE, i, i, menuItems[i]);
}
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
int menuItemIndex = item.getItemId();
String[] menuItems = stt;
String menuItemName = menuItems[menuItemIndex];
listItemName = stocks[info.position];
stockname.remove(post-1);
return true;
}
wo muss ich diese Zeile setzen? –
direkt nach stockname.remove (post-1); listViewAdapter ist nur ein Beispiel, Sie müssen das mit dem, was immer Ihr Adapter genannt wird, ersetzen. Wenn Sie nicht darauf zugreifen können, machen Sie es einfach zu einer globalen Variable für diese Klasse. – blindstuff
Versuchen Sie, den Adapter erneut zu initialisieren, wie Sie es bei der Erstellung getan haben. – blindstuff