我知道以前有人问过类似类型的问题。不好意思再问。
我在标签 FragmentActivity 中有一个片段。在onActivityCreated的片段中,我必须在每个修复间隔之后安排一个任务。
Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
new fetchDataInBackground(ctx).execute(); //async task
}
});
}
}, 0, 20000);
上面的代码工作得很好,直到我们在tab activity上按下后退按钮。
一旦按下后退按钮,它就会在上述代码的 getActivity() 上引发空指针异常。
我猜可能是片段已与活动分离,因此 getActivity() 返回 null。我的问题是如何实现上述场景,以便即使按下后退按钮,该过程也应该继续。有什么最佳实践吗?
我正在从 FragmentPageAdapter 的 getItem 方法中返回相同的 Fragment 实例。
提前致谢!