public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.a_main_layout, MainFragment.getInstance());
transaction.commit();
}
public void onClicked(View view) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
String backStackStr = "";
switch (view.getId()) {
case R.id.a_main_sub01_btn:
backStackStr = "Sub01";
break;
case R.id.a_main_sub02_btn:
backStackStr = "Sub02";
break;
}
if(fragmentManager.findFragmentByTag(backStackStr) != null){
fragmentManager.popBackStack(backStackStr, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
if(backStackStr.equals("Sub01")) {
transaction.replace(R.id.a_main_layout, Sub01Fragment.getInstance(), "Sub01");
}else if(backStackStr.equals("Sub02")) {
transaction.replace(R.id.a_main_layout, Sub02Fragment.getInstance(), "Sub02");
}
transaction.addToBackStack(backStackStr);
transaction.commit();
}
}
- Main Sub01 Sub02 상태에서 Sub01이 추가되면
- Main Sub02 Sub01 와 같이 되고 싶은데 안되네요...
- 어떻게 해야 같은 프래그먼트가 중복 저장이 안되고 잘 될까요?
댓글 입력