QRリーダから戻った時にクラッシュするバグを修正しました

This commit is contained in:
it232115 2024-01-16 11:11:39 +09:00
parent 51c34966bc
commit 9de98193d9
2 changed files with 18 additions and 1 deletions

View File

@ -9,6 +9,8 @@ import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts; import androidx.activity.result.contract.ActivityResultContracts;
import androidx.browser.customtabs.CustomTabsIntent; import androidx.browser.customtabs.CustomTabsIntent;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -101,8 +103,22 @@ public class QRFragment extends Fragment {
Log.d("QRFragment", "onClick: called"); Log.d("QRFragment", "onClick: called");
//QRリーダ起動 //QRリーダ起動
fragmentLauncher.launch(new ScanOptions()); fragmentLauncher.launch(new ScanOptions());
HomeFragment homeFragment=new HomeFragment();
replaceFragment(homeFragment);
return view; return view;
} }
//画面遷移メソッド
private void replaceFragment(Fragment fragment) {
// フラグメントマネージャーの取得
FragmentManager manager = getParentFragmentManager(); // アクティビティではgetSupportFragmentManager()?
// フラグメントトランザクションの開始
FragmentTransaction transaction = manager.beginTransaction();
// レイアウトをfragmentに置き換え追加
transaction.replace(R.id.fragmentContainerView, fragment);
// 置き換えのトランザクションをバックスタックに保存する
transaction.addToBackStack(null);
// フラグメントトランザクションをコミット
transaction.commit();
}
} }

View File

@ -138,6 +138,7 @@ public class QrPrintFragment extends Fragment {
replaceFragment(homeFragment); replaceFragment(homeFragment);
return view; return view;
} }
//画面遷移メソッド
private void replaceFragment(Fragment fragment) { private void replaceFragment(Fragment fragment) {
// フラグメントマネージャーの取得 // フラグメントマネージャーの取得
FragmentManager manager = getParentFragmentManager(); // アクティビティではgetSupportFragmentManager()? FragmentManager manager = getParentFragmentManager(); // アクティビティではgetSupportFragmentManager()?