【发布时间】:2019-10-04 19:37:53
【问题描述】:
我有一个扩展 AsyncTask 的类。我传入一个胆固醇监测器列表并在onPostExecute 中创建片段。但是,doInbackground 不能是空方法,onPostExecute 也不能正确覆盖?
private class CholesterolFragment extends AsyncTask<ArrayList<CholesterolMonitor>, Void, Void>`{
@Override
protected Void doInBackground(ArrayList<CholesterolMonitor>... arrayLists) {
}
@Override
protected void onPostExecute(ArrayList<CholesterolMonitor> result){
cholesterol_monitor= result;
monitorListFragment = MonitorListFragment.newInstance(cholesterol_monitor);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_monitor_layout, monitorListFragment)
.commit();
}
}
在我的 onCreate 中,我传入了胆固醇监测列表:
monitor_list= this.getIntent().getParcelableArrayListExtra("monitorList");
cholesterol_monitor = (ArrayList<CholesterolMonitor>) monitor_list;
CholesterolFragment cholesterolFragment= new CholesterolFragment();
cholesterolFragment.execute(cholesterol_monitor);
【问题讨论】:
-
如果你的 doInBackground 是空的,你为什么要使用 AsyncTask?
-
我需要在将 Intent 传递到 Fragment 之前获取它。它一直返回空引用指针,所以我认为它可能在获得意图之前已经创建了片段?
标签: android android-fragments android-intent android-asynctask