gpt4 book ai didi

android - 如何在onLoadFinish 回调方法中提交FragmentPagerAdapter 中的Fragment 事务?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:34 27 4
gpt4 key购买 nike

我想通知 ViewPagerAdapter 数据集在 Loader.onLoadFinish 回调函数中发生了变化。

它被阻止是因为 fragment 的状态可能被保存。

来自 LoaderManager.LoaderCallbacks.onLoadFinished(Loader loader, D data)方法文档:

Note that normally an application is not allowed to commit fragment transactions while in this call, since it can happen after an activity's state is saved.`

我该如何克服这个问题?如何检查 Activity 处于哪个状态并提交 Fragment 事务?

最佳答案

我有以下解决方案:

方法changeCursorInOtherThread用于onLoadFinishedonLoaderReset

HandlerActivity 中创建:

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);
}
});
}
}

关于android - 如何在onLoadFinish 回调方法中提交FragmentPagerAdapter 中的Fragment 事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7957273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com