android - java.lang.UnsupportedOperationException android 数组列表

标签 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();

堆栈跟踪在这里

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)

最佳答案

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

来自类 API 文档 here :

Arrays.asList: Returns a fixed-size list backed by the specified array.

你不能添加给它;你不能从中删除。您不能在结构上修改 List

支持这种类型的操作

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

List<String> list = new LinkedList<String>(Arrays.asList(split));

引用答案:https://stackoverflow.com/a/2965808/2123594学分转到@polygenelubricants

关于android - java.lang.UnsupportedOperationException android 数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21061847/

相关文章:

android - 在 Android 项目中重用 OpenCV C++ 文件

java - Android Json HTTP Post,无法解析数据

c# - 代码不会退出 foreach block

javascript - 如何为 SharePoint 2010 网站上的预览 Pane 编写 JavaScript/jQuery?

Python重命名重复项

java - 如何在 android 中解析 Google 公共(public)日历?

java - Android onClick启动的两个动画,应该只启动一个

javascript - 列表中间的中心图像有 50% 悬垂

java - 运算符 '==' 不能应用于 'double[]','double

android - 添加 Cordova 白名单插件后,设备上的 Ionic 应用程序为 "Failed to load resource"