[解決済み] フラグメントから現在のアクティビティを終了させる
2022-10-03 20:21:27
質問
私はナビゲーションドロワーとして使用しているアクティビティ内のフラグメントを持っています。 これには、クリックすると新しいアクティビティを開始するボタンが含まれています(フラグメントからのstartActivityは、現在のアクティビティのstartActivityを呼び出すだけです)。
どうしても、新しいアクティビティを開始した後に現在のアクティビティを終了させる方法を見つけ出すことができないようです。
私はフラグメントでこのようなことを達成したいと思っています。
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
if (view == mButtonShows) {
Intent intent = new Intent(view.getContext(), MyNewActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
}
しかし、Fragment.classはfinish()を実装していないようです(startActivity(...)を実装しているように)。
2つ目のアクティビティを起動したときに、アクティビティのバックスタックをクリアしてほしいです。(新しいアクティビティから戻るを押すと、技術的にランチャーに戻されます)。
どのように解決するのですか?
フラグメントを扱うとき、代わりに
this
を使ったり、コンテキストを参照したりする代わりに、常に
getActivity()
. を呼び出す必要があります。
Java
getActivity().finish();
コトリン
activity.finish()
で、フラグメントからアクティビティを終了します。
関連
-
[解決済み] 現在のアクティビティからルートビューを取得する
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidのローテーションでアクティビティを再開する
-
[解決済み] アクティビティで本来追加されるウィンドウが流出した
-
[解決済み】前のアクティビティに戻るのを防ぐには?
-
[解決済み】ログアウト時にアクティビティ履歴をクリアすると、「戻る」ボタンでログイン中のみのアクティビティを開けなくなる。
-
[解決済み】フラグメント onResume() & onPause() がバックスタックで呼ばれない
-
[解決済み] Androidアプリケーションのヒープサイズを大きくするには?
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] FloatingActionButtonのサンプルとサポートライブラリ
-
[解決済み] Gmailの3分割アニメーションシナリオの完全動作サンプル?
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
-
[解決済み] アンドロイドでシェイクを検出するには?
-
[解決済み] キャンバスに複数行のテキストを描画する
-
[解決済み] proguard hell - 参照されているクラスが見つかりません。
-
[解決済み] ブルートゥースアプリケーションのテストにアンドロイドエミュレータを使用するには?