Android-Studio:列表<Integer> 使我的应用程序崩溃

Android-Studio: List<Integer> crashing my app

我目前正在努力在我的列表视图中实现一个复选框。但我需要获取信息,在滚动之前标记了哪些复选框。一切正常,但当我尝试将项目添加到列表时,我的应用程序崩溃了。

public class viewHolder {
        ToggleButton favorite;
        TextView text;
        List<Integer> intList = Arrays.asList(1,2,5);
    }

当我调用

时应用崩溃
viewHolder.intList.add(position);

崩溃代码

04-14 14:01:36.097 14198-14198/com.joudoviny.jonda.copypasta E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.joudoviny.jonda.copypasta, PID: 14198
java.lang.UnsupportedOperationException
    at java.util.AbstractList.add(AbstractList.java:148)
    at java.util.AbstractList.add(AbstractList.java:108)
    at com.example.jonda.copypasta.MainActivity$MyListAdapter.onClick(MainActivity.java:667)
    at android.view.View.performClick(View.java:6256)
    at android.widget.CompoundButton.performClick(CompoundButton.java:134)
    at android.view.View$PerformClick.run(View.java:24701)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:172)
    at android.app.ActivityThread.main(ActivityThread.java:6637)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

Arrays.asList() returns 一个固定大小的列表。您不能添加项目。

您可以将结果包装在一个新的 ArrayList 中,例如

List<Integer> intList = new ArrayList<>(Arrays.asList(1,2,5));

Arrays.asList returns 一个不可调整大小的列表。

改用这个

= new ArrayList(Arrays.asList(1, 2, 3))