在我的Andoird应用程序中,我通过以下代码将其他内容传递给其他意图:

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);

08-06 05:43