Raf*_*mal 4 android android-intent android-activity
我已在我的应用程序中实现onPause()和onResume()方法如下:
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);
}
Run Code Online (Sandbox Code Playgroud)
当onPause()调用方法时,我看到已经设置了值.但在我的onResume()方法中getStringExtra()总是返回null.我的做法有什么问题吗?
getIntent()返回Intent已启动活动的内容.当你去另一个活动然后回来时,getIntent()返回的内容与你在onPause方法中的内容不同
您可以选择将值放在Intent用于启动活动的值中B,然后A再次启动活动时再将值放入Intent.另一个选项,我更喜欢使用SharedPreferences来完成这项工作.
| 归档时间: |
|
| 查看次数: |
12246 次 |
| 最近记录: |