2012-07-29 30 views
4

我已經實現onPause()onResume()方法如下我的應用程序:機器人 - getIntent()getStringExtra()返回null

protected void onPause() { 
     super.onPause(); 

     String receiver = phoneNoField.getText().toString(); 
     String message = messageBody.getText().toString(); 
     getIntent().putExtra(MESSAGE_RECEIVER, receiver); 
     getIntent().putExtra(MESSAGE_BODY, message); 

     Log.d(TAG, receiver + " " + message);  
    } 


protected void onResume() { 
     super.onResume(); 

     String receiver = getIntent().getStringExtra(MESSAGE_RECEIVER); 
     String message = getIntent().getStringExtra(MESSAGE_BODY); 
     if(receiver != null) 
      phoneNoField.setText(receiver); 
     if(message != null) 
      messageBody.setText(message); 

     Log.d(TAG, receiver + " " + message);  
    } 

onPause()方法被調用時,我看到的值已設置。但在我的onResume()方法getStringExtra()總是返回null。我的方法有問題嗎?

回答

7

getIntent()返回已開始活動的Intent。當你去到另一個活動,然後再回來,有什麼getIntent()的回報是你有過在方法有什麼不同

你的一個選擇是將值在Intent您用來啓動活動B然後當您再次啓動活動A再次將值放入Intent。另一種選擇,我更喜歡使用SharedPreferences來完成這項工作。

相關問題