【发布时间】:2019-10-04 10:29:18
【问题描述】:
我有一个实现 parcelable 的类胆固醇监视器。在我的活动中,我尝试通过意图将 Parcelables 的数组列表传递给另一个活动。我像这样初始化我的监视器列表:
private ArrayList<? extends Parcelable> monitor_list;
那我就通过了:
monitor_list = patientListFragment.getMonitorList();
Intent intent = new Intent(this, CholesterolMonitorActivity.class);
intent.putParcelableArrayListExtra("monitorList" ,monitor_list);
startActivity(intent);
我的 get monitor list 方法返回一个胆固醇监测器的数组列表:
public ArrayList<CholesterolMonitor> getMonitorList(){
return this.monitorList;
}
在我的接收活动中,我有两个数组列表,
private ArrayList<? extends Parcelable> monitor_list;
private ArrayList<CholesterolMonitor>cholesterol_monitor;
monitor_list= this.getIntent().getParcelableArrayListExtra("monitorList");
this.cholesterol_monitor = (ArrayList<CholesterolMonitor>) monitor_list;
但是,应用程序在此活动启动时崩溃?这是错误日志。
Process: com.example.safeheart, PID: 22778
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List org.hl7.fhir.dstu3.model.Patient.getName()' on a null object reference
at com.example.safeheart.patientList.MonitorListRecyclerAdapter.onBindViewHolder(MonitorListRecyclerAdapter.java:41)
at com.example.safeheart.patientList.MonitorListRecyclerAdapter.onBindViewHolder(MonitorListRecyclerAdapter.java:20)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder
【问题讨论】:
-
发布错误日志
-
好的,现在我猜它返回了一些东西,但是提交片段后活动崩溃了,因为我们需要将数组列表传递到片段中,所以我无法获得 Intent 并在相同的情况下提交片段创建函数?
标签: android android-intent arraylist parcelable