2015-06-11 82 views
-1

叫我有一個活動A活動B,問題是我無法使用菜單選項來調用活動A的onActivityResult從B中。開始onActivityResult不是從菜單選項

現在,這是我怎麼去活動A從B現在

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
    case android.R.id.home: 
     return true; 
    case R.id.category_add: 
     Intent intent = new Intent(this, ActivityB.class); 
     startActivityForResult(intent, 1); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 

} 

在活動BI執行某些操作,並在活動A onActivityResult所示

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
    case android.R.id.home: 
     return true; 
    case R.id.task_add: 
     Intent intent = new Intent(this, ActivityA.class); 
     startActivity(intent); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

現在回去到活動A,其不撥打:

public void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if ((requestCode == 1) && (resultCode == Activity.RESULT_OK)) { 
     if (data != null) { 
      sampledata= data.getStringExtra("sampletext"); 
     } 
    } 
} 

這是我的清單文件:

<activity 
    android:name="com.sample.example.ActivityA" 
    android:label="@string/title_sample_app" 
    android:parentActivityName=".MainActivity" 
    android:theme="@style/Theme.Default" > 
</activity> 
<activity 
    android:name=".ActivityB" 
    android:label="@string/title_activity_login" 
    android:theme="@style/Theme.Default" > 
</activity> 
+0

@ downvoter-你能告訴我爲什麼你downvote?只是不要downvote ..對於未來的讀者,這將有助於您的意見。或者我的問題有什麼問題? – coder

回答

4

問題是你再次從開始的活動活動B.

正確的方法(如果你開始活動的結果)就是這樣完成它:

Intent resultIntent = new Intent(); 
setResult(RESULT_OK, resultIntent); 
finish(); 

一些更多的信息:

+0

@ theMfromA-再次感謝:) – coder

+0

不客氣:) – theMfromA

2

要返回ActivityA,你不想啓動它再次,但完成ActivityB

case R.id.task_add: 
    Intent intent = new Intent(); 
    intent.putExtras(whatever you need to pass back to A); 
    setResult(Activity.RESULT_OK, intent); 
    finish(); 
    break 

檢查錯字

+0

@Blackbelt-那麼你這麼多:)做了魔法 – coder