app/src/main/java/me/zhanghai/android/douya/app/RetainedFragment.java
(完整代码) 1KB/*
* Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
* All Rights Reserved.
*/
package me.zhanghai.android.douya.app;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* In order to retain instance, this fragment should always be attached to the host activity
* directly instead of being attached to any child fragment manager.
*/
public class RetainedFragment extends Fragment {
private List<Runnable> mPendingRunnables = new ArrayList<>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
setUserVisibleHint(false);
}
@Override
public void onResume() {
super.onResume();
Iterator<Runnable> iterator = mPendingRunnables.iterator();
while (iterator.hasNext()) {
Runnable runnable = iterator.next();
iterator.remove();
runnable.run();
}
}
protected void postOnResumed(Runnable runnable) {
if (isResumed()) {
runnable.run();
} else {
mPendingRunnables.add(runnable);
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
