[解決済み】フラグメント onResume() & onPause() がバックスタックで呼ばれない
2022-04-30 03:56:04
質問
アクティビティ内に複数のフラグメントがあります。ボタンをクリックすると、新しいフラグメントが開始され、バックスタックに追加されます。当然、私は
onPause()
メソッドと、現在のフラグメンテーションの
onResume()
を呼び出す必要があります。うまくいきませんね。
LoginFragment.java
public class LoginFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.login_fragment, container, false);
final FragmentManager mFragmentmanager = getFragmentManager();
Button btnHome = (Button)view.findViewById(R.id.home_btn);
btnHome.setOnClickListener(new View.OnClickListener() {
public void onClick(View view){
HomeFragment fragment = new HomeFragment();
FragmentTransaction ft2 = mFragmentmanager.beginTransaction();
ft2.setCustomAnimations(R.anim.slide_right, R.anim.slide_out_left
, R.anim.slide_left, R.anim.slide_out_right);
ft2.replace(R.id.middle_fragment, fragment);
ft2.addToBackStack("");
ft2.commit();
}
});
}
@Override
public void onResume() {
Log.e("DEBUG", "onResume of LoginFragment");
super.onResume();
}
@Override
public void onPause() {
Log.e("DEBUG", "OnPause of loginFragment");
super.onPause();
}
}
HomeFragment.java
public class HomeFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.login_fragment, container, false);
}
@Override
public void onResume() {
Log.e("DEBUG", "onResume of HomeFragment");
super.onResume();
}
@Override
public void onPause() {
Log.e("DEBUG", "OnPause of HomeFragment");
super.onPause();
}
}
私が期待したこと、それは。
-
ボタンがクリックされたとき。
ログインフラグメント
に置き換えられます。
ホームフラグメント
,
onPause()
の LoginFragment とonResume()
の ホームフラグメント と呼ばれる -
バックが押されたとき
ホームフラグメント
がポップアウトされ
ログインフラグメント
は
が表示され
onPause()
の ホームフラグメント とonResume()
の LoginFragment が呼び出される。
私が得ているものは
- ボタンがクリックされたとき。 ホームフラグメント が正しく置き換えられています。 ログインフラグメント のonResume()を使用します。 ホームフラグメント が呼び出されますが、onPause() の ログインフラグメント が呼ばれることはない。
- バックが押されたとき ホームフラグメント が正しくポップアップして ログインフラグメント のonPause()が必要です。 ホームフラグメント が呼び出されるが、onResume() の ログインセグメント は呼び出されない。
これは正常な動作なのでしょうか?なぜ
onResume()
の
LoginFragment
戻るボタンを押しても呼び出されない。
解決方法を教えてください。
フラグメント
onResume()
または
onPause()
が呼び出されるのは、アクティビティ
onResume()
または
onPause()
が呼び出されます。
これらは緊密に結合され
Activity
.
関連
-
[解決済み】このアクティビティでは、Theme.AppCompatテーマ(またはその子孫)を使用する必要があります。
-
[解決済み】まだ警告が出る:設定 'compile' は時代遅れで 'implementation' に置き換わった。
-
[解決済み】Androidエミュレータのエラーメッセージ。"PANIC: Missing emulator engine program for 'x86' CPUS." (パニック: エミュレータ・エンジン・プログラムがありません)
-
[解決済み] 設定 ':classpath' の依存関係をすべて解決できなかった。
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み】フラグメントMyFragmentがアクティビティにアタッチされない。
-
[解決済み] android.intent.action.MAINの意味は何ですか?
-
[解決済み] FragmentでonActivityResultが呼び出されない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッケージ名(Google Analytics)に一致するクライアントが見つからない - 複数のproductFlavorsとbuildTypes
-
[解決済み] シンボル 'context' を解決できない
-
[解決済み】react-native: コマンドが見つかりません。
-
[解決済み】apkインストール時のINSTALL_FAILED_NO_MATCHING_ABIS
-
[解決済み】このアクティビティは、すでにウィンドウ装飾によって提供されるアクションバーを持っています。
-
[解決済み】getCheckedRadioButtonId()が無駄なintを返す?
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み】Couldn't load memtrack module Logcat Error
-
[解決済み] ADBエラー:デーモンに接続できない
-
[解決済み] Android Fragment onAttach() 非推奨