ドキュメントについて私が理解していることから、フラグメントをデタッチして後で再アタッチすると、デタッチされたときと同じように自動的に表示されます。それ以上のことはありますか?2 つの異なるフラグメント用の 2 つのボタンを備えたシンプルなアクション バーがあります。最初のフラグメントから 2 番目のフラグメントに戻すと、最初のフラグメントに読み込まれた画像が長く表示されます。アタッチ/デタッチを間違って使用していますか、それとも instanceState を自分で管理して UI を再描画する必要がありますか? もしそうなら、attach メソッドと detach メソッドのポイントは何ですか?
@Override
public void onStart(){
super.onStart();
ndi=new NasaDailyFragment(this);
bnf=new BreakingNewsFragment(this);
ft=getFragmentManager().beginTransaction();
ft.add(R.id.focused_view_container,ndi).commit();
}
public void onTabSelected(Tab tab, FragmentTransaction f) {
switch(tab.getPosition()){
case 0:
ft=getFragmentManager().beginTransaction();
if(!ndi.isAdded()){
ft.replace(R.id.focused_view_container, ndi).setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).commit();
ft.attach(ndi);
getFragmentManager().executePendingTransactions();
}
break;
case 1:
ft=getFragmentManager().beginTransaction();
ft.detach(ndi);
ft.replace(R.id.focused_view_container, bnf).commit();
getFragmentManager().executePendingTransactions();
break;
}
}