Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-startActivityForResult将对象的ArrayList传递回_Java_Android_Arrays - Fatal编程技术网

Java Android-startActivityForResult将对象的ArrayList传递回

Java Android-startActivityForResult将对象的ArrayList传递回,java,android,arrays,Java,Android,Arrays,所以我有活动A和活动B,在“A”中,我需要转到“B”,然后将食物项添加到它们的数组列表中,然后将此数组列表传递回活动A,无论我在当前设置中遇到什么问题 这是从A到B的意图 Intent i = new Intent(OrderMain.this , OrderAdd.class); startActivityForResult(i,1); 这是从B到A的返回意图 Intent returnIntent = new Intent(); Bundle b = new Bundle(); b.put

所以我有活动A和活动B,在“A”中,我需要转到“B”,然后将食物项添加到它们的数组列表中,然后将此数组列表传递回活动A,无论我在当前设置中遇到什么问题

这是从A到B的意图

Intent i = new Intent(OrderMain.this , OrderAdd.class);
startActivityForResult(i,1);
这是从B到A的返回意图

Intent returnIntent = new Intent();
Bundle b = new Bundle();
b.putSerializable("results", orderArray);
returnIntent.putExtras(b);
setResult(Activity.RESULT_OK, returnIntent);
finish();
最后,这是我在A中的onActivityResults

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1) {
        if(resultCode == Activity.RESULT_OK){
            Bundle b = getIntent().getExtras();
            ArrayList<Food> test = new ArrayList<>();
            test = (ArrayList<Food>) b.getSerializable("results");
            setOrderArray(test);
        }
        if (resultCode == Activity.RESULT_CANCELED) {
            //Write your code if there's no result
        }
    }
}
我目前的问题是这一行代码:

test = (ArrayList<Food>) b.getSerializable("results");
test=(ArrayList)b.getSerializable(“结果”);

这是说有一个“未经检查的强制转换”,它的预期用途并没有发挥应有的作用,任何帮助都将不胜感激

不要使用Serializable,而是使用Parcelable。
Parcelable是速度之王,请确保您的对象类实现Parcelable

那你有什么问题?是关于IDE的警告还是您在活动A中没有收到数据?@SonTruong没有获得任何数据,它抛出了一个ClassCastException请检查我的答案。如果您不打算解释您的解决方案,请使用评论部分使用Parcelable是提出的解决方案,如果您想知道原因,请检查以下内容:
test = (ArrayList<Food>) b.getSerializable("results");