我有一个商店应用程序 在此应用程序中,片段每个都从服务器获取自己的数据,并由导航栏管理。 我希望只接收一次任何片段的数据,并且只会在一段时间后保持其最后状态。 我使用了替换,隐藏功能,但我没有得到好的结果 有人可以提出解决方案吗?
nav_partition.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
FragmentManager fm = getSupportFragmentManager();
Fragment lastFragment = fm.findFragmentById(R.id.fragment_layout);
if (lastFragment instanceof FragmentPartition)
return;
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.hide(lastFragment);
if (fragmentPartition == null)
fragmentPartition = new FragmentPartition();
G.log_toast("is added : " + fragmentPartition);
fragmentTransaction.replace(R.id.fragment_layout, fragmentPartition);
fragmentTransaction.commit();
}
});
答案 0 :(得分:0)
您可以使用savedinstancestate捆绑包来保存数据。它可以在恢复时重复使用。试试下面的代码。
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean("bln", true);
savedInstanceState.putInt("it", 1);
savedInstanceState.putString("str", "Hello");
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
boolean bln = savedInstanceState.getBoolean("bln");
int in = savedInstanceState.getInt("it");
String str = savedInstanceState.getString("str");
}