我有一項活動是從我的主要活動中打開的。當它使用後退按鈕關閉然後重新啓動時,它將使用先前的實例狀態打開,而不是像新建一樣打開。如何防止以前的InstanceState數據重新啓動活動
主要活動
\t public void onPerformButtonClick(View view)
\t {
\t Intent performActivity = new Intent(getBaseContext(), PerformActivity.class);
\t //start lyric activity
startActivityForResult(performActivity, MAIN_PERFORM_MODE); \t \t
\t \t
\t }
的PerformActivity
\t @Override
\t protected void onCreate(Bundle savedInstanceState) {
\t \t super.onCreate(savedInstanceState);
setContentView(R.layout.perform_main);
\t \t //reload state on orientation change or wake up
\t \t if (savedInstanceState != null) {
\t \t \t if (mPlayList == null) {
\t \t \t \t mPlayList = new PlayList(getBaseContext());
\t \t \t }
\t \t \t mPlayList.removePlayListListener();
\t \t \t mPlayList.setPlayListListener(new PlayListListener() {
\t \t \t \t @Override
\t \t \t \t public void onPlayListDataUpdate() {
\t \t \t \t \t updateSetListData();
\t \t \t \t }
\t \t \t });
\t \t \t mPlayList.loadState(savedInstanceState.getBundle("playlist"));
\t \t \t if (mTimeLine == null) {
\t \t \t \t mTimeLine = new TimeLine();
\t \t \t }
\t \t \t mTimeLine.removeTimeLineListener();
\t \t \t mTimeLine.loadState(savedInstanceState.getBundle("timeline"));
\t \t }
.....
\t }
\t @Override
\t protected void onSaveInstanceState (Bundle outState) {
\t \t super.onSaveInstanceState(outState);
\t \t Bundle playlist = mPlayList.saveState();
\t \t outState.putBundle("playlist", playlist);
\t \t Bundle timeline = mTimeLine.saveState();
\t \t outState.putBundle("timeline", timeline);
\t }
\t private void doFinish()
\t {
\t \t finish();
\t }
我相信這是一些簡單的我我錯過了。
總結: 我希望應用在屏幕方向更改方面表現良好,但當用戶按下後退按鈕時,我希望先前的狀態消失。
你想重新用新鮮的數據 –
每次我按下運行的按鈕活動onPerformButtonClick我想performActivity的新新實例來運行。沒有任何以前的instanceState數據加載 – Dan
是否有可能用於創建performActivity每次沒有以前的實例狀態意向標誌? – Dan