我有ViewPager
3 个片段;在我处理的主要活动中onPageChangeListener
:
private class CustomPageChangeListener extends ViewPager.SimpleOnPageChangeListener{
@Override
public void onPageSelected(int position) {
fragments.get(position).onShowedFragment(context);
super.onPageSelected(position);
}
}
Run Code Online (Sandbox Code Playgroud)
调用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);
}
Run Code Online (Sandbox Code Playgroud)
当我旋转设备时,Android 重新创建 Activity 并调用onPageSelected
,并调用onShowedFragment
我片段上的方法,但当时调用lst100的 ListView为空(我在片段的 onCreateView 方法中初始化视图),然后该行lst100.setAdapter(mAdapter)
导致一个错误。
我没有使用 android:configChanges
在设备旋转后创建 ListView 时,如何上传我的数据?