我在Android Studio中遇到了一个java.lang.unsupportedoperationexception

我在Android Studio中遇到了一个java.lang.unsupportedoperationexception,java,android,android-menu,Java,Android,Android Menu,我添加了以下方法: public boolean onOptionsItemSelected(MenuItem item){ int id = item.getItemId(); switch(id){ case R.id.jaren_3de: updateKlassenList(klassen); break; case R.id.jaren_4de: updateKlassenList(klassen2);

我添加了以下方法:

public boolean onOptionsItemSelected(MenuItem item){
int id = item.getItemId();

switch(id){
    case R.id.jaren_3de:
        updateKlassenList(klassen);
        break; 
    case R.id.jaren_4de:
        updateKlassenList(klassen2);
        break; 
    case R.id.jaren_5de:
        updateKlassenList(klassen3);
        break; 
    case R.id.jaren_6de:
        updateKlassenList(klassen4);
        break; 

    // case R.id. 

} 

return super.onOptionsItemSelected(item);
}

private void updateKlassenList(String[] data) {
    klassenList.clear();
    klassenList.addAll(Arrays.asList(data));

    // I assume "adapter" is the adapter of interest.
    adapter.notifyDataSetChanged();
}
要修复以前的问题(请参阅),现在我得到一个Java.Lang.UnsupportedOperationsException。我一直在查找它,它似乎与过时的版本有关,但我最近更新了所有内容

提前谢谢

编辑:这是我得到的错误:

private void updateKlassenList(String[] data) {
    klassenList.clear();
    klassenList.addAll(Arrays.asList(data));

    // I assume "adapter" is the adapter of interest.
    adapter.notifyDataSetChanged();
}

多亏了这条线索,我才明白这一点:
我现在用一个LinkedList代替了普通的列表,而且很有效

我知道我是在没有初始化的情况下使用它的,所以我初始化如下:

01-10 16:08:23.508 1457-1457/com.geesplit.lessenrooster E/AndroidRuntime: FATAL EXCEPTION: main
                                                                      Process: com.geesplit.lessenrooster, PID: 1457
                                                                      java.lang.UnsupportedOperationException
                                                                          at java.util.AbstractList.remove(AbstractList.java:638)
                                                                          at java.util.AbstractList$SimpleListIterator.remove(AbstractList.java:75)
                                                                          at java.util.AbstractList.removeRange(AbstractList.java:658)
                                                                          at java.util.AbstractList.clear(AbstractList.java:466)
                                                                          at com.geesplit.lessenrooster.MainActivity.updateKlassenList(MainActivity.java:112)
                                                                          at com.geesplit.lessenrooster.MainActivity.onOptionsItemSelected(MainActivity.java:95)
                                                                          at android.app.Activity.onMenuItemSelected(Activity.java:2885)
                                                                          at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1133)
                                                                          at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761)
                                                                          at com.android.internal.view.menu.SubMenuBuilder.dispatchMenuItemSelected(SubMenuBuilder.java:81)
                                                                          at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
                                                                          at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904)
                                                                          at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894)
                                                                          at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:186)
                                                                          at android.widget.AdapterView.performItemClick(AdapterView.java:305)
                                                                          at android.widget.AbsListView.performItemClick(AbsListView.java:1146)
                                                                          at android.widget.AbsListView$PerformClick.run(AbsListView.java:3053)
                                                                          at android.widget.AbsListView.onTouchUp(AbsListView.java:3872)
                                                                          at android.widget.AbsListView.onTouchEvent(AbsListView.java:3637)
                                                                          at android.view.View.dispatchTouchEvent(View.java:8471)
                                                                          at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2399)
                                                                          at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2092)
                                                                          at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405)
                                                                          at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106)
                                                                          at android.widget.PopupWindow$PopupViewContainer.dispatchTouchEvent(PopupWindow.java:1731)
                                                                          at android.view.View.dispatchPointerEvent(View.java:8666)
                                                                          at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4123)
                                                                          at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3989)
                                                                          at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
                                                                          at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597)
                                                                          at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563)
                                                                          at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3680)
                                                                          at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571)
                                                                          at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3737)
                                                                          at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
                                                                          at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597)
                                                                          at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563)
                                                                          at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571)
                                                                          at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
                                                                          at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5807)
                                                                          at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5781)
                                                                          at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5752)
                                                                          at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5897)
                                                                          at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
                                                                          at android.os.MessageQueue.nativePollOnce(Native Method)
                                                                          at android.os.MessageQueue.next(MessageQueue.java:143)
                                                                          at android.os.Looper.loop(Looper.java:122)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5257)
                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                          at java.lang.reflect.Method.invoke(Method.java:372)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
//全局变量:
私有列表模型数据列表;
//使用此列表的代码。
DataList=newlinkedlist();

这解决了我的问题。

请发布整个堆栈跟踪,以及触发堆栈跟踪的Java代码。您的
列表类型不支持删除-您使用的是不可修改的列表吗?记录
klassenList
的类并发布结果。很好,这个答案对其他人很有用。您应该将其标记为已接受!我需要等两天才能把自己的答案标记为接受,我已经试过了:)啊,好吧,我不知道(或者我忘了):)
//globadl varaible:
private List<ModelClass> ModelDataList;

//code where Used this List.
DataList = new LinkedList<>();