pix*_*xel 5 android adapter android-fragments android-viewpager android-support-library
我想通知回调函数中ViewPagerAdapter更改的数据集Loader.onLoadFinish.
它被阻止了,因为可能会保存片段的状态.
来自LoaderManager.LoaderCallbacks.onLoadFinished(Loader loader,D data)方法文档:
请注意,通常,在此调用中,不允许应用程序提交片段事务,因为它可能在保存活动状态后发生.
我怎样才能克服这个问题?如何检查哪个状态Activity并提交Fragment事务?
我提出了以下解决方案:
方法changeCursorInOtherThread用于onLoadFinished和onLoaderReset。
Handler创建于Activity:
private Handler mHandler = new Handler();
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mSaved = true;
}
private void changeCursorInOtherThread(final Cursor data) {
if(!mSaved){
mHandler.post(new Runnable() {
@Override
public void run() {
mViewPagerAdapter.changeCursor(data);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3057 次 |
| 最近记录: |