我有一项活动是从我的主要活动开始的。当它被关闭,使用后退按钮,然后重新启动,它是打开使用上一个实例,而不是打开,好像它是新的。
主要活动
public void onPerformButtonClick(View view)
{
Intent performActivity = new Intent(getBaseContext(), PerformActivity.class);
//start lyric activity
startActivityForResult(performActivity, MAIN_PERFORM_MODE);
}
The PerformActivity
@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();
}
我确信这是一件很简单的事情,我错过了。
概括地说:我希望应用程序在屏幕方向变化的情况下表现良好,但是当用户按下后退按钮时,我希望先前的状态消失。
发布于 2017-09-18 05:27:50
在PerformActivity.This中添加此代码将完成按回按钮上的活动。
@Override
public void onBackPressed() {
if(null!=this){
finish();
}
super.onBackPressed();
}https://stackoverflow.com/questions/46272071
复制相似问题