2016-05-02 3 views
0

私はマニフェストファイルに書き込むことにより、バックボタンをしました(等がhttp://developer.android.com/training/implementing-navigation/ancestral.htmlアクションバーの戻るボタンを使用して前のアクティビティでデータを転送するにはどうすればよいですか?

MainActivityに戻ったとき、私は活動2からデータを転送するか、それともアクションで戻るボタンを作るためのより良い方法があるかどう
<activity android:name=".Activity2" 
     android:parentActivityName=".MainActivity"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".MainActivity" 
      /> 

    </activity> 

バー?

+0

共有設定?シングルトン?たくさんの方法。 –

+0

まあ、親の活動をインテントで起動し、データを別の場所に置くこともできます。アクティビティが正しいモードで開始するように、使用可能なフラグをチェックします。 – miva2

答えて

1

Activity2MainActivityからActivity.startActivityForResult()を使用して呼び出します。

Activity2で、ユーザーが必要なデータを設定する操作を完了したら、Activity.setResult()に電話してください。 resultCodeをRESULT_OKに設定し、返信するParcelableデータを含むIntentをここに渡すことができます。

最後に、MainActivityActivity.onActivityResult()を上書きします。これはActivity2が終了したときに呼び出されます。ここにresultCodeのRESULT_OKが表示され、Activity2によって設定されたIntentにアクセスできます。

は、適切な方法がSecondActivityを開始し、FirstActivityにSecondActivityからデータを受信するためにonActivityResult()を使用するstartActivityForResult()を使用することですStarting Activities and Getting Results | Activity | Android Developers

0

をあなたはstartActivityForResult()を使用してActivity2を開始することができます - 2番目のアクティビティでは、ユーザーが[戻る]ボタンをクリックしたときMainActivityに送り返されたい結果を設定することができます。

@Override 
public Intent getParentActivityIntent() { 
    Intent intent = super.getParentActivityIntent(); 
    //here you put the data that you want to send back - could be Serializable/Parcelable, etc 
    intent.putExtra("result",result); 
    return intent; 
} 

あなたが選択した答えhereをチェックアウトし、いくつかのオプションを探索することができます:あなたのようなActivity2に(サポートライブラリを使用している場合やgetSupportParentActivityIntent()getParentActivityIntent()をオーバーライドすることができ、また

Intent resultIntent = new Intent(); 
returnIntent.putExtra("result",result); 
setResult(Activity.RESULT_OK,resultIntent); 

:あなたのような何かをしますhere

+0

ユーザーが戻るボタンをクリックしたときはどうすれば追跡できますか? –

+0

このような 'onBackPressed'メソッドをオーバーライドすることができます::オーバーライド public void onBackPressed(){ //ユーザがクリックしたボタン?ここで何かしてください(しかし、予想される動作を変更して、ユーザーを混乱させる可能性はありません... ) ' – ishmaelMakitla

関連する問題