2011-12-04 4 views
2

startActivityforResult()を使用していくつかの目的を持っています。私はいくつかのフィードバックを受け取りたい。各startActivityforResult()にはどのようにしてonActivityResult()を書くことができますか?onActivityResultいくつかの目的のため

答えて

2

startActivityForResultの2番目の引数としてrequestCodeを渡すことができます。この整数値は、onActivityResultのrequestCodeとして返されます。

さまざまなリクエストコードで電話しています。

startActivityForResult(i1, 1); 

startActivityForResult(i2, 2); 

次に、あなたのonActivityResultは、次のようになります。あなたによって起動される活動2では

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
    case 1: 
     // do what u hv to do for first start activity 
    break; 
    case 2: 
     // for second start activity 
    break; 
    } 
} 

は、データを返すために、次のAPIを使用します。

詳細は、ドキュメントの下に読む
public final void setResult (int resultCode) 
public final void setResult (int resultCode, Intent data) // If you want to pass some data 

Starting Activities and getting results back

onActivityResult

+0

私はアクティビティ2で別のアクティビティ2を呼び出すために、私の第二の意図を記述する場合には、仕上げ()メソッドをオーバーライドするとき、私は代わりに他の名前の「データ」という名前の新しい意思を作成必要がありますか? – James

+0

私は再びansを受け入れた – James

関連する問題