Android 错误:将项添加到ArrayList

Android 错误:将项添加到ArrayList,android,arraylist,add,logcat,Android,Arraylist,Add,Logcat,add方法为ArrayList提供错误。它没有增加 public List<String> arrayList; ... arrayList = new ArrayList<String>(); ... savenumberButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

add方法为
ArrayList
提供错误。它没有增加

    public List<String> arrayList;

...

arrayList = new ArrayList<String>();

...

savenumberButton.setOnClickListener(new View.OnClickListener()
    {

        public void onClick(View v)
        {
            String str = numberText.getText().toString();
            Integer cout = listView.getCount()+ 1;
            String str1 = cout.toString().concat("."+str);

            try {
                arrayList.add(listView.getCount(), str1);
            } catch (Exception e) {
                Log.w("Error", "arraylist.add is not running!");
            }

            arrayAdapter.notifyDataSetChanged();
            Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_SHORT).show();
            blockNumberText.setText(" ");
        }
    });

...
公共列表arrayList;
...
arrayList=新的arrayList();
...
savenumberButton.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v)
{
字符串str=numberText.getText().toString();
整数cout=listView.getCount()+1;
字符串str1=cout.toString().concat(“.”+str);
试一试{
add(listView.getCount(),str1);
}捕获(例外e){
Log.w(“错误”,“arraylist.add未运行!”);
}
arrayAdapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(),“数据已保存”,Toast.LENGTH\u SHORT.show();
blockNumberText.setText(“”);
}
});
...

现在您已经在注释中发布了异常和行号以及更多详细信息,这似乎是因为当您调用
asList()时
此方法“返回由指定数组支持的固定大小的列表…”,然后将其强制转换为
ArrayList
,这是不正确的

因此,方法
add
抛出
UnsupportedOperationException
,因为
列表的大小固定,无法修改

相反,尝试

arrayList = new ArrayList<String> (Arrays.asList(TextUtils.split(number, ",")));
arrayList=newarraylist(Arrays.asList(TextUtils.split(number,“”));

可能需要使用
arrayList.add(listView.getCount()-1,str1)listView.getCount()返回的数据类型是什么?两件事:告诉我们错误是什么,告诉我们listView是什么。在catch块上调用e.printStackTrace()并从错误中发布日志。。。W/System.err﹕ java.lang.UnsupportedOperationException。。。W/System.err﹕ 在java.util.AbstractList.add(AbstractList.java:404)中。。。W/System.err﹕ 在com……MainActivity$1.onClick(MainActivity.java:78)。。。W/System.err﹕ 在android.view.view.performClick(view.java:4633)。。。W/System.err﹕ 在android.view.view$PerformClick.run(view.java:19330)中,我不理解已经存在的索引。你能解释一下吗?这不是你得到的错误,但是如果你有一个ArrayList,比如,调用ArrayList.add(5,item4),你会得到一个IndexOutOfBounds异常。第78行是ArrayList.add(listView.getCount()-1,str1);我刚更改为AbstractList,但同一行是problem W/System.err﹕ 位于…..MainActivity$1.onClick(MainActivity.java:79)的AbstractList不是正确的类。它是一个抽象类,可以被其他类扩展,方法也在那里实现。使用ArrayList