Android-fragmentはremoveできません
2169 ワード
プロジェクトのニーズは、appでfragmentを使用してviewの表示と非表示を実現する必要があります.いくつかの小さな問題が発生しました.ここで記録します.
機能:ボタンをクリックして、fragmentが現れて、再びクリックして、fragmentは隠します;
問題のあるコード:
機能:ボタンをクリックして、fragmentが現れて、再びクリックして、fragmentは隠します;
問題のあるコード:
@Override
public void onClick(View v) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (v.getId()) {
case R.id.openCamBtn:
if (camFlag == 0) {
fragmentTransaction.add(R.id.containerFL, CamFragment.newInstance(), "CamFragmentOpen");
camFlag =1;
} else {
fragmentTransaction.remove(fragment);
camFlag = 0;
}
fragmentTransaction.commit();
break;
}
}
, ,fragment , , remove fragment;
:
@Override
public void onClick(View v) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (v.getId()) {
case R.id.openCamBtn:
if (camFlag == 0) {
fragmentTransaction.add(R.id.containerFL, CamFragment.newInstance(), "CamFragmentOpen");
camFlag =1;
} else {
Fragment fragment=fragmentManager.findFragmentByTag("CamFragmentOpen");
fragmentTransaction.remove(fragment);
camFlag = 0;
}
fragmentTransaction.commit();
break;
}
}
:
FragmentManager findFragmentByTag() fragment TAG, FragmentTransaction remove() ;
--------------------------------------------------------------------------------------
, add remove commit();
2018 4 23 22:09:25