我试图将Parcelable实现为一些对象时遇到了困难。到目前为止,我有一个包含所有String和整型变量的Project类以及另一个名为ParcelableProject的对象,其中包含一个Project类。当我尝试通过AllProjects的名称创建另一个Parcelable类时,我的困难就开始了,这个类包含一个由ParcelableProject对象组成的单个数组列表。如何访问Parcelable对象内的ArrayList元素?
我有这样的方法,通过它我谨项目通过意向:
public void addProject(ParcelableProject p){
Intent i = new Intent(this.getActivity(), ProjectsFragment.class);
ArrayList<ParcelableProject> data = new ArrayList<ParcelableProject>();
data.add(p);
i.putParcelableArrayListExtra("projects", data);
}
而且,在我的ProjectsFragment我尝试通过访问此ArrayList的数据:
Intent i = getActivity().getIntent();
Bundle data=i.getExtras();
ArrayList Projects= data.getParcelable("projects");
ParcelableProject pProj=Projects.get(0);
但它给了我一个“无法从Object转换为ParcelableProject“错误。访问我的项目变量的正确方法是什么?将有一个列表传入我的ProjectsFragment,因此Parcelable需要包含一个ArrayList的项目,我只是不知道如何访问各个项目。
这也引发了我一个NullPointerException在ArrayList的项目= data.getParcelable( “项目”)。 – yanki