我有电影类型的Arraylist private ArrayList<Movies> mMovies;
,其实现为Parcelable
中定义的MainActivity
。
mMovies
包含20个左右的电影列表。
在MainActivity
内onCreateView()
方法内
我试图将parcelable对象传递给另一个名为DetailActivity
Intent intent = new Intent(getActivity(), DetailActivity.class);
intent.putExtra("MOVIES", movieList);
startActivity(intent);
使用调试器我可以看到movieList
包含20行。
这就是我试图读取通过MainActivity中的意图传递的parcelable对象。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = getActivity().getIntent().getExtras();
mMovies = getActivity().getIntent().getParcelableExtra("MOVIES");
}
虽然我尝试使用调试器查看mMovies
值,但它会显示null
答案 0 :(得分:2)
改为使用putParcelable("MOVIES",mMovies);
和getParcelableArrayListExtra("MOVIES")
。 How can I make my custom objects Parcelable?可能会提供更多见解。
答案 1 :(得分:1)
首先,你添加额外列表,但尝试获取电影注入,使用getParcelableArrayList()
其次,查看Parcelable实现(并确保在CREATOR中调用正确的构造函数)
答案 2 :(得分:-1)
我的建议是将Movies类导出为Json String,如下所示:Android- create JSON Array and JSON Object 然后,将它作为String从一个Intent传递给第二个