私は主なアクティビティから開いたアクティビティを持っています。戻るボタンを使用して閉じてから再起動すると、新しいものとして開くのではなく、前のinstancestateを使用して開きます。以前の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 }
私はそれが私という単純なものであると確信しています紛失しています。
要約: アプリが画面の向きを変えてもうまく動作するようにしたいが、ユーザーが戻るボタンを押したときに前の状態を消したい。
あなたは –
新鮮なデータを私は実行するためにperformActivityの新しい新鮮なインスタンスをしたいと思いますonPerformButtonClickに実行ボタンを押すたびにその活動を再開したいです。前のinstanceStateデータロードがない場合 – Dan
前回のinstancestateなしにperformActivityを作成するために使用できるIntent FLAGがありますか? – Dan