0

アクティビティ 1:友達のリストを表示
する A。 友達リストのアイテムの後、その友達の詳細を表示している アクティビティ 2 に移動します。ListView
onClick()ProfileActivity

アクティビティ 2 ( ProfileActivity):
ButtononClick()に、アクティビティ 3 ( ) に移動します。アクティビティ 3 ( NearByActivity) には、10 km 以内にいる 20 人の近くの友達のリストが表示されます。

アクティビティ 3 ( NearByActivity):onClick()項目の後に、アクティビティ 2 ( ) に進みProfileActivityます。

finish()ストーリーは、アクティビティ 2 からアクティビティ 3 まで、ユーザーが戻りたい可能性があるため、アクティビティを開始する前 にアクティビティ 2 を実行したくないということです。

したがって、問題は次のとおりです。
ユーザーがアクティビティ 3 の任意の項目をクリックして、アクティビティ 2 -> アクティビティ 3 -> アクティビティ 2 -> アクティビティ 3 を防止する場合に、アクティビティ 2 を終了する方法...

アクティビティ 2 は何度も呼び出しますが、プロファイルの詳細は、クリックされたユーザーによって異なります。

または他の提案??

4

3 に答える 3

1

Activity2 で onActivityResult() をオーバーライドできます。Activity3 が終了したら、結果を Activity2 に渡します。

例えば

    //In Activity2
onActivityResult(ReqCode , ResultCode, Intent) {
  if(ResultCode == FINISH){
     finish();
  } else if(ResulCode == DO_SOMETHING_ELSE){
     // Do Somthing
  }

}

//Activity 3
onClick1(){
 setResult(FINISH);
 finish();
}

onClick2(){
  setResult(DO_SOMETHING_ELSE);
  finish();
}

ここでonActivityResult を参照してください

于 2012-12-04T17:33:51.067 に答える
0

FLAG_ACTIVITY_CLEAR_TOPを使用します。

設定されていて、起動中のアクティビティが現在のタスクですでに実行されている場合、そのアクティビティの新しいインスタンスを起動する代わりに、その上にある他のすべてのアクティビティが閉じられ、このインテントが(現在top)新しいインテントとしての古いアクティビティ。

于 2012-12-04T12:20:21.770 に答える
0

アクティビティからボタンがクリックされたとき 3. ブロードキャスト メッセージを送信するだけです (localbroadcas も使用できます)。アクティビティ2にはブロードキャストレシーバーがあるため、終了コマンドを含むブロードキャストメッセージを取得すると終了します()

于 2012-12-04T12:22:10.480 に答える