2017-03-13 27 views
0

MainActivityというNavigationDrawerActivityがあります。 MainctivityGuestActivityという対話として表示される別のアクティビティがあります。フラグメントでの開始アクティビティ

私はMainActivityで開く2つの断片を持っています。 HomeFragmentおよびRegisterFragment

私はそのボタンがクリックされたときに、今、私はGuestActivityを閉じて、その後、私のRegisterFragmentロードされたと私MainActivityを開きたい、私のGuestActivityにボタンがあります。

これを行う方法はありますか?その場合はどうすればよいですか?私は例を見てもらえますか?あなたがボタンを押すと

答えて

2

startActivityForResultGuestActivityを開始します。この方法で、ボタンをクリックして結果を設定し、MainActivityを再度開始せずにMainActivityのフラグメントを変更することができます。

へのごMainActivityの変更で

startActivityForResult(guestIntent, 1337); 

とonActivityResultをオーバーライドします。

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
// Check which request we're responding to 
if (requestCode == 1337) { 
    // Make sure the request was successful 
    if (resultCode == RESULT_OK) { 


     // Change framgnet 
    } 
} 
} 

GuestActivityでボタンのonClickListenerでは、追加:

setResult(Activity.RESULT_OK); 
GuestActivity.this.finish((); 
+0

はあなたにたくさんありがとうございました今日は何か新しいことを学んだ:) – user3718908

1

その後、以下の呼び出し:

を今すぐMainActivityのonCreateメソッドチェックであなたが持っている

if(getIntent.getExtras.getBoolean("start_register_fragment")) { 
//call to register fragment here 
} 
関連する問題