我试图在活动之间转移ArrayList
,但我尝试过的任何内容都无效。
这是我最好的镜头,但这也没有用。
我在这里调用外部动作:
getComics getComicInfo = new getComics(charName, pageNum);
getComicInfo.execute();
getIntentData()
这里我试图放置数据,但问题在于这是一个外部动作,所以我无法通过激活。
if(counter == comicInfoObject.length()){
Log.v("check arr length =>" , Integer.toString(comicList.size()));
Intent i = new Intent();
i.putExtra("comicArrayList", (ArrayList<Comics>)comicList);
}
这里我要回复数据,但它并没有进入&#34;如果&#34;
public void getIntentData(){
Intent i = getIntent();
if(i != null && i.hasExtra("comicArrayList")){
comicList2 = i.getParcelableExtra("comicArrayList");
int size = comicList2.size();
}
}
第一个代码是我调用使用api的外部类,在底行创建arrayList 第二个代码在外部类中,我尝试使用putExtra来传递arrayList 第三个代码是我在getIntentData()之后检索数据的地方。
答案 0 :(得分:0)
发件人Activity
intent.putParcelableArrayListExtra(<KEY>, ArrayList<Comics extends Parcelable> list);
startActivity(intent);
在接收器Activity
getIntent().getParcelableArrayListExtra(<KEY>);
答案 1 :(得分:0)
您需要创建一个实现Parcelable
的漫画类,然后使用put ParcelableArrayListExtra
传递arraylist。
以下是Pass data between activities实现Parcelable
的示例链接但是要小心,如果你的数组列表太大,你可能会得到意图异常,在这种情况下,你可以考虑一个static reference
来存储你的数组列表。