Je semble avoir un problème avec Android ListView. J'essaie de supprimer l'élément sélectionné de ListView. La méthode delete fonctionne et me permettra de supprimer autant d'éléments de ma liste que nécessaire, mais chaque fois que je défilerai vers le bas de la liste (après qu'un élément au moins ait été supprimé), j'obtiens une erreur qui ferme l'application.Problème avec Android ListView après la suppression des éléments
Voici mon code:
public class MainActivity extends Activity {
private String[] mRoute;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mRoute = getResources().getStringArray(R.array.countries);
ListView list = (ListView)findViewById(R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listitem, mRoute);
list.setAdapter(adapter);
registerForContextMenu(list);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
int menuItemIndex = item.getItemId();
String[] menuItems = getResources().getStringArray(R.array.menu);
String menuItemName = menuItems[menuItemIndex];
String listItemName = mRoute[info.position];
// Remove String From List
List<String> routeArrayString = new ArrayList<String>(Arrays.asList(mRoute));
routeArrayString.remove(listItemName);
mRoute = routeArrayString.toArray(mRoute);
//Generate new ListView
ListView list = (ListView)findViewById(R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listitem, mRoute);
list.setAdapter(adapter);
registerForContextMenu(list);
return true;
}
Toutes les idées? Merci d'avance.
Quel est le message d'erreur? – Brandon
Utilisez logcat pour nous montrer la pile complète du message d'erreur. –