ボタンを押すと、アプリがフラグメントを作成します。このフラグメントが 1 つだけ作成されるようにしたいです。たとえば、フラグメントが既に存在する場合はボタンを無効にします。
フラグメントが 1 つしか作成されていないことを確認するにはどうすればよいですか? Fragment カウントを取得することは可能ですか、それとも 1 つだけを作成するように制限するオプションはありますか?
ボタンを押すと、アプリがフラグメントを作成します。このフラグメントが 1 つだけ作成されるようにしたいです。たとえば、フラグメントが既に存在する場合はボタンを無効にします。
フラグメントが 1 つしか作成されていないことを確認するにはどうすればよいですか? Fragment カウントを取得することは可能ですか、それとも 1 つだけを作成するように制限するオプションはありますか?
Sandrstar が言及した方法を使用できます。フラグメントをアタッチするとき、最初にフラグメントが既にアタッチされているかどうかを確認できます。
たとえば、フラグメントを動的に追加している場合、次のようにしてフラグメントが再追加されるのを停止できます。
MyFragment myFragment = getFragmentManager().findFragmentByTag("MyFragmentTag")
if(myFragment == null)
{
myFragment = MyFragment.newInstance();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(R.layout.mylayout,myFragment,"MyFragmentTag");
ft.commit();
}