【发布时间】:2023-03-10 03:56:02
【问题描述】:
我有一个带有 3 个片段的 ViewPager;在我的主要活动中,我处理onPageChangeListener:
private class CustomPageChangeListener extends ViewPager.SimpleOnPageChangeListener{
@Override
public void onPageSelected(int position) {
fragments.get(position).onShowedFragment(context);
super.onPageSelected(position);
}
}
对onShowedFragment(context) 的调用将数据加载到片段中(我按需加载数据)。我将数据加载到ListView:
@Override
public void onShowedFragment(Context context) {
databaseService = DatabaseService.getInstance(context);
mAdapter = new Capitulo100ListAdapter(context);
databaseService.capitulo100ObjectSet.setAdapter(mAdapter);
lst100.setAdapter(mAdapter);
try {
//load my data
} catch (Exception e) {
//...
}
super.onShowedFragment(context);
}
当我旋转设备时,Android 会重新创建活动并调用 onPageSelected,并在我的片段上调用 onShowedFragment 方法,但当时名为 lst100 的 ListView 为空(我在fragment的onCreateView方法中初始化视图),那么lst100.setAdapter(mAdapter)这行会报错。
我没有使用android:configChanges
设备旋转后创建ListView时如何上传数据?
【问题讨论】:
标签: android listview android-fragments android-viewpager