好的,我在Tab View Activity中有三个片段。我有2个片段中的列表我想要做的是当我关闭应用程序并打开其他应用程序然后重新打开我的应用程序时,我想自动加载2个片段中列表的最后状态。有点像在twitter和facebook应用程序中,当我们打开应用程序时,已经加载了最后同步的时间轴。有关如何实现这一点的任何想法?只需要一个样本。
由于
注意:这些只是普通片段而非listfragments
答案 0 :(得分:0)
如果您希望应用的状态在关闭应用并重新打开时保持不变,那么您需要将其保存到文件中并在应用再次启动时重新加载。对于您正在谈论的状态类型,SharedPreferences可能最有意义。
有不同的方法可以做到这一点,但有一种方法是在创建片段时修改片段的视图:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// inflate your fragment normally
SharedPreferences prefs = getActivity().getSharedPreferences("my_prefs", 0);
if (prefs.contains("my_state")) {
// modify your fragment's starting state with the saved info
}
}
每当片段暂停时,您都可以保存片段视图的状态:
@Override
public void onPause() {
super.onPause();
SharedPreferences prefs = getActivity().getSharedPreferences("my_prefs", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putXyz("my_state", ...); // put your fragment's state into editor
editor.commit();
}