2011-06-21 8 views
1

私はタブアクティビティを持っており、タブ内にはアクティビティグループがあります。最初はアクティビティAが表示され、そこからstartactivityforresultを使用してアクティビティBをコールします。これを達成する方法は?タブワイド内のアクティビティグループ内のあるアクティビティから別のアクティビティに開始アクティビティを呼び出す方法

私の活動Aで、私はこれをやっている...

 Intent i = new Intent(Entry.this, Child.class); 

     // Create the view using FirstGroup's LocalActivityManager 
     View view = GroupActivity.group.getLocalActivityManager() 
     .startActivity("child", i 
     .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) 
     .getDecorView(); 

     // Again, replace the view 
     GroupActivity.group.replaceView(view); 

このかかわらず、活動Bに私を取る、私はそこから活動Aに復帰するための方法はありません。

答えて

0

変更startActivityへ:

.startActivityForResult(I、.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // See which child activity is calling us back. 
     switch (resultCode) { 
      case RESULT_OK: 
      { 
       //processing code goes here 
      } 
      default: 
       break; 
     } 
} 
をして、仕上げは()アクティビティBに呼び出されたとき、あなたは「OnActivityResult」メソッドを打つ必要があります。

その後、ActivityAに、このメソッドを追加します。また、呼び出すことによって、バック主な活動への意図を送ることができます。

setResult(Activity.Result_OK, intent); 

活動B.

+1

LocalActivityManagerにstartActivityForResultメソッドを持っていません。 – jwadsack