我正在编写一个 android 应用程序,该应用程序需要从我的 listActivity 中的足球比赛名单中动态删除球员。Activity 有一个适配器,它链接到描述每个玩家的字符串数组。然后我尝试在单击时从列表中删除一个玩家。我的问题是,每当我使用内置方法删除适配器时,我都会不断收到此错误。
FATAL EXCEPTION: main
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:638);
据我所知,我无权从适配器中删除项目,但我不明白为什么,因为我在网上找到的每个示例似乎都没有问题。这是我用来尝试从适配器中删除单个项目的代码。
public void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
adapter.remove(adapter.getItem(position));
adapter.notifyDataSetChanged(); //Updates adapter to new changes
}
这是我尝试更改适配器的数据源并通知它更改以希望它会更新屏幕列表的代码。
public void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
mainRoster.removePlayer(position); //removes from custom roster
stringedRoster = mainRoster.getStringArray(); //Resets string array
adapter.notifyDataSetChanged(); //Updates adapter to new changes
}
如果有人可以对可能发生的事情有所了解,将不胜感激。