//注意事項画面へ切り替え NotesFragment hintfrag = (NotesFragment) getFragmentManager().findFragmentByTag(Def.TAG_NOTES); //注意事項画面の重複表示チェック if (hintfrag == null && !isFinishing()) { hintfrag = NotesFragment.newInstance(); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.activity_container, hintfrag, Def.TAG_NOTES); //BackStackにaddして、popやbackキーで戻れるようにしておく ft.addToBackStack(null); ft.commit(); }帮我把他修复
时间: 2023-06-01 19:03:59 浏览: 122
|| !hintfrag.isVisible()) { //重複していなければ、注意事項画面へ切り替え FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container, new NotesFragment(), Def.TAG_NOTES); transaction.addToBackStack(null); transaction.commit(); } else { //重複している場合は、注意事項画面を閉じる getFragmentManager().popBackStack(); }
//上記のコードは、注意事項画面への切り替えを行う際に、重複表示を防止するための処理です。まず、既に注意事項画面が表示されているかどうかを確認し、表示されていなければ新しい注意事項画面を表示します。ただし、既に表示されている場合は、重複を防ぐために注意事項画面を閉じます。
相关问题
NotesFragment hintfrag = (NotesFragment) getFragmentManager().findFragmentByTag(Def.TAG_NOTES); //注意事項画面の重複表示チェック if (hintfrag == null && !isFinishing()) { hintfrag = NotesFragment.newInstance(); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.activity_container, hintfrag, Def.TAG_NOTES); ft.addToBackStack(null); ft.commit(); }以代码格式
|| !hintfrag.isVisible()) {
//注意事項画面が表示されていない場合、新しく作成して表示する
hintfrag = new NotesFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, hintfrag, Def.TAG_NOTES);
transaction.addToBackStack(null);
transaction.commit();
} else {
//注意事項画面が表示されている場合、何もしない
}
beginTransaction = getFragmentManager().beginTransaction();不支持了咋办
如果你使用的是 AndroidX 库,可以改用 `getChildFragmentManager()` 来获取 FragmentManager 对象,然后调用 `beginTransaction()` 方法开启一个事务。例如:
```
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
```
如果你使用的是旧版的 support 库,可以尝试调用 `getSupportFragmentManager()` 方法获取 FragmentManager 对象,然后开启事务。例如:
```
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
```
不过建议你将支持库升级到最新的 AndroidX 版本,以获得更好的支持和体验。
阅读全文