0

これは理論的な質問ですが、アドバイスが必要です。アクティビティを切り替える複雑なロジックがあります。1 つの部分は簡単です: ActualActivity --> 次に開始します。問題は、previousActivity <-- ActualActivity (戻るボタンなど) にあります。自転車で歩けるようになったらどうすればいいですか?そして、ロジックプロセスの最後のアクティビティを達成し、このプロセスに先行する最後の 4 つのアクティビティを完了する必要がある場合!? 当然のことながら、私はそれらのそれぞれに電話をかけたくありません。

これが、各アクティビティでデフォルトで finish() を呼び出すことにした理由の 1 つです。StartActivity をオーバーライドして、finish() を配置しました。各アクティビティの set backIntent も修正しました。しかし、時にはそれだけでは十分ではありません。Intent を何らかの方法で別の Activity に送信することは可能ですか? 私の考えをよりよく理解するために:intent.putExtra(BackIntent)

それが一般的で良い解決策ではないことは明らかです。不要な「onPaused」アクティビティを管理するにはどうすればよいですか? アクティビティが一時停止されているかどうかを確認し、再開を呼び出すにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

1

Intent Flagsに関するドキュメントを読む必要があると思います:

これにより、アクティビティ スタックとストーリーボードに関連するすべてを制御できます。

于 2012-10-31T18:00:52.827 に答える
0

I think your problem can be resolve with "startactivityforresult"

//Activity A
private void someMethod()
{
   this.startActivityForResult(intentForActivityB, 123456);
}


@Override
protected void onActivityResult(int request, int result, Intent intent)
{
   if(request == 123456 && result == Activity.RESULT_OK)
       this.finish();

   super.onActivityResult(request, result, intent);
}


//Activity B
private void someMethod()
{
   this.setResult(Activity.RESULT_OK);
   this.finish();

}

this will close activity A when the Activity B is OK (setResult), an only in this case

于 2012-10-31T18:13:20.013 に答える