DialogFragmentsの公式の Android チュートリアルを調べています。私を少し混乱させる部分は次のとおりです。
void showDialog() {
mStackLevel++;
// DialogFragment.show() will take care of adding the fragment
// in a transaction. We also want to remove any currently showing
// dialog, so make our own transaction and take care of that here.
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment prev = getFragmentManager().findFragmentByTag("dialog");
if (prev != null) {
ft.remove(prev);
}
ft.addToBackStack(null);
// Create and show the dialog.
DialogFragment newFragment = MyDialogFragment.newInstance(mStackLevel);
newFragment.show(ft, "dialog");
}
したがって、私の混乱は、彼らが使用しているという事実から生じfindFragmentByTag("dialog")
ます。という名前のタグを持つレイアウト XML が宣言されている場所はどこにもありませdialog
ん。通常の Fragmant の場合<fragment ../>
、レイアウトにタグがあるので Id や tagname でフラグメントを取得できます。ここには、何もありません。
それで、何が得られますか?これはどのように作動しますか ?
また、複数ある場合はどうなりDialogFragments
ますか? findFragmentByTag("dialog");
何を返しますか??
:)