OnBackpressed()オーバーライド
-
21-12-2019 - |
質問
私のアプリケーションの構造です:
活動AはBの活動を開始するためのボタンを持つListViewActivity
です。
Bの活動を完了した後のBアクティビティCのアクティビティを開始するためのボタンがあります。
Cアクティビティ設定を保存し、アクティビティに表示する新しいレコードを作成します。Cのアクティビティを起動するボタンは、アクティビティを起動します。
この手順が次の手順に従う場合は、AアクティビティからBACKボタンを押すと、Bのアクティビティから戻ってB(FLAG_ACTIVITY_NO_HISTORY
を設定したときにCを透過することなく)と2回目に戻って戻ってくるもう一度、これは作成されたレコードの数に等しい時間数を繰り返します。
戻るアプリを閉じるボタンが長いプロセスになりました。
a活動からのonBackPressed
が常にアプリを閉じたいのですが。
英語は私の言語ではありません、私は私が明確だったことを願っています。
解決
常に下のようなあなたの活動を始める
Intent intent = new Intent(current_activity_context, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
. 他のヒント
メソッドFinish()はそれを実行します。 この
のようなものIntent intent = new Intent(getApplicationContext(),
Activity B.class);
Activity A.this.startActivity(intent);
finish();
. You must override the OnBackPressed method
@Override
public void OnBackPressed(){
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
super.onBackPressed();//Optional
}
Hope it helps.
try this
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
所属していません StackOverflow