2014-02-10 60 views
0

我想從我的SecondActivity發送消息到FirstActivity打印。我使用startActivityForResult(intent,requestcode)啓動SecondActivity,然後輸入文本並使用onActivityResult()發送輸入的文本,以便FirstActivity顯示。當我運行「活動」並單擊「發送」時,出現錯誤,指出「println需要消息」。結果沒有傳遞給FirstActivity。println需要一條消息 - onActivityResult

下面是代碼: FirstActivity:

private void StartSecondActivity() { 

    Log.i(tag, "SecondActivity"); 

    Intent iSecond = new Intent(this, SecondActivity.class); 

    startActivityForResult(iSecond, REQUEST_CODE); 

} 

SecondActivity:

private void eClicked() { 

    Log.i(tag, "Clicked()"); 
    String mes = mEditText.getText().toString(); 

    Intent intent = new Intent(); 
    intent.putExtra(EXTRA_MESSAGE, mes); 

    setResult(RESULT_OK, intent); 
    Log.i(tag, mes); 

    finish(); 
} 

這不登錄正確的消息。

FirstActivity:

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

    Log.i(tag, "onActivityResult()"); 
    if(requestCode == REQUEST_CODE){ 
     if(resultCode == RESULT_OK){ 
      Intent inte = getIntent(); 
      String m = inte.getStringExtra(SecondActivity.EXTRA_MESSAGE); 
      mTextView.setText(m); 
     } 
    } 

} 

它進入onActivityResult和記錄消息,然後用下面的錯誤消息崩潰。

錯誤消息:

02-09 18:52:42.010: E/AndroidRuntime(1831): FATAL EXCEPTION: main 
02-09 18:52:42.010: E/AndroidRuntime(1831): Process: droid.intentexp.intents, PID: 1831 
02-09 18:52:42.010: E/AndroidRuntime(1831): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {droid.intentexp.intents/droid.intentexp.intents.FirstActivity}: java.lang.NullPointerException: println needs a message 

我不知道什麼錯誤。有人可以請一些光。

謝謝。

回答

1

您應該使用data意圖getIntent()

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

    Log.i(tag, "onActivityResult()"); 
    if (requestCode == REQUEST_CODE) { 
     if (resultCode == RESULT_OK) { 
      String m = data.getStringExtra(SecondActivity.EXTRA_MESSAGE); 
      mTextView.setText(m); 
     } 
    } 
} 
+0

謝謝不知何故,它只是從我的頭上:) – suprasad

+0

@suprasad不客氣。很高興有幫助。 ;) 祝你好運 –

1

初始化字符串第米,相應的內容。

String m =「」;