0

我有一个从我的主要活动中打开的活动。当它使用后退按钮关闭然后重新启动时,它使用以前的实例状态打开,而不是像新的一样打开。

主要活动

	public void onPerformButtonClick(View view)
	{
    	Intent performActivity = new Intent(getBaseContext(), PerformActivity.class);

    	//start lyric activity
        startActivityForResult(performActivity, MAIN_PERFORM_MODE);		
		
	}

表演活动

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

        setContentView(R.layout.perform_main);

		//reload state on orientation change or wake up
		if (savedInstanceState != null) {

			if (mPlayList == null) {
				mPlayList = new PlayList(getBaseContext());
			}
			mPlayList.removePlayListListener();
			mPlayList.setPlayListListener(new PlayListListener() {
				@Override
				public void onPlayListDataUpdate() {
					updateSetListData();
				}
			});
			mPlayList.loadState(savedInstanceState.getBundle("playlist"));

			if (mTimeLine == null) {
				mTimeLine = new TimeLine();
			}
			mTimeLine.removeTimeLineListener();
			mTimeLine.loadState(savedInstanceState.getBundle("timeline"));
		}

     .....

	}

	@Override
	protected void onSaveInstanceState (Bundle outState) {

		super.onSaveInstanceState(outState);

		Bundle playlist = mPlayList.saveState();
		outState.putBundle("playlist", playlist);

		Bundle timeline = mTimeLine.saveState();
		outState.putBundle("timeline", timeline);

	}

	private void doFinish()
	{
		finish();
	}

我敢肯定,我缺少一些简单的东西。

总之:我希望应用程序在屏幕方向更改时表现良好,但是当用户按下后退按钮时,我希望之前的状态消失。

4

1 回答 1

0

在 PerformActivity 中添加此代码。这将在按下返回按钮时完成活动。

@Override
public void onBackPressed() {
   if(null!=this){
       finish();
   }
   super.onBackPressed();
}
于 2017-09-18T05:27:50.763 回答