2012-01-21 19 views
0

アクティビティ遷移このインテントを使用したアクティビティの遷移?

A ----------> B(startActivity

B -----------> C(startActivityOnResult)のようなものです

Cで[結果]を設定してfinish()を実行すると、アクティビティAにリダイレクトされますか?

誰でもお手伝いできますか?

編集: A -------- B

startActivity(new intent(uri,Search.class)` 

B -------- C Activty Cで

Intent intent = new Intent(this,ContactsPicker.class); 
intent.putExtra("Mode", 2); 
startActivityForResult(intent,ContactsPicker.RECENT_CONTACTS); 

Intent returnIntent = new Intent(); 
returnIntent.putExtra("contactlist",str.toString()); 
setResult(RESULT_OK,returnIntent); 
finish(); 
+0

は、AからBに、BからCに変換するコードを表示します。 – confucius

+0

問題は何ですか?あなたは問題を述べなかったか、あなたが望んだことはありませんか? – JoxTraex

答えて

0
  1. startActivityForResult()メソッドを親アクティビティAに使用し、アクティビティBを呼び出します。
  2. onStop()またはonDestory()のメソッドを子アクティビティBおよびCにオーバーライドし、任意の結果コード、たとえば '2'を設定します。あなたはそれを次のよう行うことができます。

    protected void onStop() { 
        // TODO Auto-generated method stub 
        setResult(2); 
        super.onStop(); 
    } 
    @Override 
    protected void onDestroy() { 
        // TODO Auto-generated method stub 
        setResult(2); 
        super.onDestroy(); 
    } 
    
  3. オーバーライドあなたの活動のAとBでonActivityResult()方法をし、結果コードに応じた活動を終えます。アクティビティCが終了したときにこれはすべての活動を終了する必要があり

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
        if(resultCode==2){ 
        finish(); 
        } 
    } 
    

:あなたはそれを次のように操作を行うことができます。

+0

これは主なアクティビティです。このアクティビティはGoogleのアプリのランディングページです.A - > Bが発生するたびに終了するのは問題ありません。 – siva

+0

まあ、私の意見では、それは大丈夫です。試してみる。またはアクティビティCでアクティビティAを終了しようとすることがあります。 –

+0

これで、私のソリューション提案があなたのために機能しましたか?ご意見をお寄せください。 –

関連する問題