Java 从一个活动检索可包裹ArrayList到另一个活动
我在从一个活动检索ArrayList到另一个活动时遇到问题。我的视频类实现了ParcelableJava 从一个活动检索可包裹ArrayList到另一个活动,java,android,arraylist,parcelable,Java,Android,Arraylist,Parcelable,我在从一个活动检索ArrayList到另一个活动时遇到问题。我的视频类实现了Parcelable imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle b = mVideos.get(numero).getAsBundle(); Bundle a = new Bundle();
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle b = mVideos.get(numero).getAsBundle();
Bundle a = new Bundle();
// putting the parcelable mVideos, which is an array, into the bundle.
a.putParcelableArrayList("videos", mVideos);
final Intent i = new Intent("com.video.tv.description");
i.putExtra("com.video.tv.description", b);
i.putExtra("com.video.tv.Videos", a); // I added it to intent
dAct.startActivity(i);
}
});
如何在第二个活动中检索整个数组
Bundle a = i.getBundleExtra("com.video.tv.Videos")??
我正试图像我最初的活动一样获取整个数组。d您的代码非常奇怪,看起来您有很多不必要的包,在构建包时请尝试以下操作:
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// What is the purpose of this line?
Bundle b = mVideos.get(numero).getAsBundle();
Bundle a = new Bundle();
a.putParcelableArrayList("videos", mVideos);
// Replace YourNewActivity with the name of the Activity you want to start.
Intent i = new Intent(dAct, YourNewActivity.class);
i.putExtra("description", b);
i.putExtra("videos", a); // I added it to intent
dAct.startActivity(i);
}
});
然后,在接收活动中,执行以下操作以获取列表:
Bundle i = getIntent().getExtras();
Bundle a = i.getBundleExtra("com.video.tv.Videos");
ArrayList<Video> videos = a.getParcelableArrayList("videos");
Bundle i=getIntent().getExtras();
Bundle a=i.getBundleExtra(“com.video.tv.Videos”);
ArrayList videos=a.getParcelableArrayList(“视频”);
putParcelableArrayList
与getParcelableArrayList
起初我只需要一个bundle,但后来我意识到我还需要传入一个对象的arrayList。您建议如何修复它?您能为我澄清一下您在何处启动此意向吗?您是否正在进行活动?为什么要在此处添加侦听器?为什么不在使用适配器时将OnClickListener添加到适配器中呢?因为我试图实现horizontalListView,我的解决方法是添加HorizontalScrollView,然后调用HorizontalGalleryAdapter=new HorizontalGalleryAdapter(这是mVideos);对于(inti=0;i