Android 安卓系统中的意图附加
在我的Andoird应用程序中,我通过以下代码向其他intent传递额外信息:Android 安卓系统中的意图附加,android,android-intent,Android,Android Intent,在我的Andoird应用程序中,我通过以下代码向其他intent传递额外信息: Intent i = new Intent(getApplicationContext(), NoteDetail.class); i.putExtra("note_id", note_id); startActivityForResult(i, 100); 在noteDetail中,通过以下代码获取额外信息: if (i.hasExtra(Key_NOTE_ID)) { // Must Update t
Intent i = new Intent(getApplicationContext(), NoteDetail.class);
i.putExtra("note_id", note_id);
startActivityForResult(i, 100);
在noteDetail中,通过以下代码获取额外信息:
if (i.hasExtra(Key_NOTE_ID)) {
// Must Update the note
KEY_HAS_NOTE_ID = true;
noteId = i.getStringExtra(Key_NOTE_ID);
Log.i("Note Id is >>", noteId.toString());
ConnectionDetector cd = new ConnectionDetector(
getApplicationContext());
if (cd.isConnectedToInternet()) {
new GetNoteDetail().execute();
} else {
Toast.makeText(NoteDetail.this,
R.string.not_connected_to_internet, Toast.LENGTH_SHORT)
.show();
}
}
在按下手机上的“后退”按钮并返回到上一个活动之前,应用程序正常工作,附加程序正确传递和接收。当我再次按下noteDetail按钮并转到noteDetail活动时,上一个note_id仍然存在且不清晰。
当用户按下移动电话上的“后退”按钮时,我想清除附加功能。在onPause()中使用:
if (getIntent().hasExtra(Key_NOTE_ID)) getIntent().removeExtra(Key_NOTE_ID);
我有一张单子。通过互联网填写清单。如果列表中没有任何项目,请转到不带note\u id的noteDetail活动以保存新备注。如果单击项目列表,则转到具有note_id的noteDetail活动以更新备注。不会将意图附加从一个实例持久化到另一个实例。您的问题更可能出现在设置note\u id
值的代码中。你能发布这个部分吗?定义注释id:字符串注释id代码>。然后在onCreate代码中,在原始活动中使用if(i.hasExtra(Key_NOTE_ID)){..
不在该活动中。名为NOTE_ID
if列表的字段没有我使用的项:Intent i=new Intent(getApplicationContext(),NoteDetail.class);i.addFlags(Intent.FLAG_Activity\u CLEAR\u TOP);startActivity(i)
和我使用的onItemClick:字符串note\u id=((TextView)view.findViewById(R.id.list\u lbl\u id)).getText().toString();Intent i=新Intent(getApplicationContext(),NoteDetail.class);i.putExtra(“note\u id”,note\u id);startActivityForResult(i,100)
您仍然有该值,或者您得到了异常?是的。我在本地有值而没有执行检查此项,因为我认为您的问题是您正在检查旧getExtra的值,也就是说,恢复后您不会再次运行getExtra