私はA、B、C、Dの4つのアクティビティを持っています。B、BはCを起動し、CはCを起動します。CがDを起動すると、状況に応じてBを破棄したい私がDから戻ったときに、D→C→Aの経路に従うように、活動C)にとどまる。だから、私はCから活動Bを破壊したいと思っています。それはどのように可能ですか?アクティビティで以前のアクティビティを破棄するにはどうすればよいですか?
答えて
終了アクティビティCを呼び出すときのアクティビティBは、ロジックによって異なります。 例えば
if(true){
Intent in = new Intent(B.this,c.class);
startActivity(c);
}
else
{
Intent in = new Intent(B.this,c.class);
startActivity(c);
finish();
}
私はBからBを仕上げるのではなく、CからDを呼び出すときにBを完成させたい。 B自体からのBの終了は、初心者の質問でさえありません。 –
これで、startActivityForResult(in、5)を呼び出すことができます。アクティビティCを開始し、@OverrideのようなアクティビティBでオーバーライドメソッドを実装する protected void onActivityResult(int requestCode、int resultCode、Intent intent) {super.onActivityResult(requestCode、resultCode、intent); if(resultCode == 0){finish(); } else {} } Activity DをIntent backintent = getIntent();のように呼び出すときに、resultcodeをActivityに設定します。 setResult(0); 意図=新しい意図(C.this、D.class); startActivity(in); それはそうです –
finishActivity(requestCode);
この方法は...何をすることはBからいくつかの要求コードで活動Cを開始...し、それに応じて簡単に呼び出すこの要求コード
での活動を終えている
あなたを助けるかもしれません活動でfinish();
BのonActivityResult
あなたは
をしたいのロジックに応じて、Cから復帰したときに、私はあなたが何ができるかと思いますが、あなたがをregことができるということですあなたがsendbroadcastを終え、その活動を終わらせたいときはいつでも、各クラスの放送をisterします。
// REGISTER IN ONCREATE
BroadcastReceiver form_filled = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String received_action = intent.getAction();
if (received_action.equals("finish_a")) {
finish();
}
}
};
registerReceiver(form_filled, new IntentFilter("finish_a"));
// THIS YOU HAVE TO DO WHEN YOU WANT TO FINISH
Intent temp_intent = new Intent();
temp_intent.setAction("finish_a");
sendBroadcast(temp_intent);
[OK]を、あなたは(5、中)startActivityForResultを呼び出すことができます。活動C.を開始し、
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if(resultCode==0)
{
finish();
}
else
{
}
}
様活性Bでオーバーライドメソッドを実装し、あなたが
- 1. アクティビティを破壊できないようにするにはどうすればよいですか?
- 2. Androidで以前のアクティビティを確認するにはどうすればよいですか?
- 3. エラーメッセージなしでAndroidの以前のアクティビティに切り替えるにはどうすればよいですか?
- 4. アクティビティはSingleTaskで、タスクのルートです。トップのreStrartアクティビティは破棄されていますか?
- 5. Android - アクティビティでのサービスの再開と破棄時の破棄
- 6. アクティビティを破棄している間にフラグメントによって使用されたリソースをクリアするにはどうすればよいですか?
- 7. アクティビティを破棄できません... java.lang.NullPointerException:observer
- 8. アンドロイドでアクティビティの親アクティビティをプログラムで設定するにはどうすればよいですか?
- 9. カメラインテントがアクティビティを破棄します
- 10. あるアクティビティから別のアクティビティにテキストを表示するにはどうすればよいですか?
- 11. 現在のアクティビティから以前のアクティビティにデータを送信するにはどうすればよいですか?
- 12. 親タブのアクティビティで子アクティビティの結果を取得するにはどうすればよいですか?
- 13. Androidで以前のアクティビティからアクティビティをフェードインする
- 14. アクティビティの背景色を別のアクティビティから変更するにはどうすればよいですか?
- 15. 1つのアクティビティから別のアクティビティに移動するにはどうすればよいですか?
- 16. 1つのアクティビティから別のアクティビティに移動するにはどうすればよいですか?
- 17. アプリでアクティビティを無視するにはどうすればよいですか?
- 18. 複数のアクティビティでドラッグアンドドロップするにはどうすればよいですか?
- 19. 現在のアクティビティを終了し、別のアクティビティを開始するにはどうすればよいですか?
- 20. java.lang.IllegalStateException:(アクティビティが破棄された)フラグメント内
- 21. アクティビティ/アプリケーションが破棄された後でも、文字列の値を保存するにはどうすればよいですか?
- 22. アクティビティにインテントを送信し、アクティビティからエクストラを読み取るにはどうすればよいですか?
- 23. アクティビティのリターンインテントを設定するにはどうすればよいですか?
- 24. フラグメントタブのアクティビティを表示するにはどうすればよいですか?
- 25. UWPでアクションセンター通知を破棄しないようにするにはどうすればよいですか?
- 26. アクティビティをフラグメントに挿入するにはどうすればよいですか?
- 27. アクティビティをスクロール可能にするにはどうすればよいですか?
- 28. メインのアクティビティではないアクティビティに直接Androidアプリを開き、後でメインのアクティビティに移動するにはどうすればよいですか?
- 29. アクティビティAのパラメータをTabHost(Bアクティビティ)のタブに渡すにはどうすればよいですか?
- 30. Androidのアクティビティ - Androidで別のアクティビティを開くにはどうすればよいですか?
....これだけ
様活性Dを呼び出しているときのアクティビティでのResultCodeを設定しますあなたはあなたの答え[ここ](http://stackoverflow.com/questions/9972097/activity-lifecycle-issues)を得ることができます! –
アクティビティBからCへの参照を取り、ref.finish()を呼び出します。ここで、refはBアクティビティへの参照です。 – Akram