java.lang.UnsupportedOperationException android arraylist

Muh*_*Ali 3 android list

当我从列表中删除项目时,我得到不受支持的操作异常.

new AlertDialog.Builder(getActivity())
                        .setMessage(result.getString("Message"))
                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                miPaymentModel.remove(index);
                            })
                        .show();
Run Code Online (Sandbox Code Playgroud)

}

堆栈跟踪就在这里

01-11 16:42:37.610: E/AndroidRuntime(25930): FATAL EXCEPTION: main
01-11 16:42:37.610: E/AndroidRuntime(25930): java.lang.UnsupportedOperationException
01-11 16:42:37.610: E/AndroidRuntime(25930):    at java.util.AbstractList.remove(AbstractList.java:638)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at com.paksoft.people.Fragment.MiPaymentFragment$DeleteCardAccount$1.onClick(MiPaymentFragment.java:395)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at android.os.Looper.loop(Looper.java:137)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at android.app.ActivityThread.main(ActivityThread.java:4499)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at java.lang.reflect.Method.invokeNative(Native Method)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at java.lang.reflect.Method.invoke(Method.java:511)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

Swa*_*nar 17

Arrays.asList返回一个固定大小的列表

从Class API文档here:

Arrays.asList:返回由指定数组支持的固定大小的列表.

你不能add这样; 你不能remove从它.你不能在结构上修改List.

支持这种类型的操作

创建一个LinkedList,支持更快remove.

List<String> list = new LinkedList<String>(Arrays.asList(split));
Run Code Online (Sandbox Code Playgroud)

Ref Answer:https://stackoverflow.com/a/2965808/2123594和积分去@polygenelubricants

  • 嘿,不要搜索,然后直接复制/粘贴别人的答案假装它是你自己的.这是来自http://stackoverflow.com/questions/2965747/why-i-get-unsupportedoperationexception-when-trying-to-remove-from-the-list (3认同)