保存设置onDestroy



如何保存设置后,我们退出应用程序使用onDestroy?

的例子:

当应用程序启动时,它将启动Main_Activity.class

Button button1;
public class Main_Activity extends Activity {
     super.onCreate(savedInstanceState);
     ................
}

添加了一个名为"button1"的按钮,并在点击时提供一个打开新活动的动作

public void button1_newactivity (View v){
     button1 = (Button) findViewById(R.id.button1);
     button1.setOnClickListener (new View.OnClickListener() {
          public void onClick(View arg0) {
               Intent secondactivity=new Intent (getApplicationContext(), Second_Activity.class);
               startActivity(secondactivity);
          }
     });
}

在Second_Activity.class上增加了2个复选框,作为应用启动时选中checkbox1而未选中checkbox2的默认值。但是,当checkbox2被选中而checkbox1自动未被选中时,按下另一个按钮后,它将启动Third_Activity.class.

我的问题是我们如何保存这个设置,所以当我们退出应用程序,然后再次启动应用程序,它会自动启动Third_Activity.class不是Main_Activity.class像第一个?

我们应该在这部分写什么

protected void onDestroy(){
     ....................
}

使用SharedPreferences来存储哪个将是您的第一个活动。像前面一样启动启动器活动。但是在那里检查你在sharedpreference中保存的值。如果你发现你必须从启动器的oncreate开始第三个活动开始第三个,完成第一个。例如

public class Main_Activity extends Activity {
     super.onCreate(savedInstanceState);
     SharedPreferences pref = getSharedPreferences(name);
     boolean b = pref.getBoolean("should_start_third", false);
     if(b){
        finish();
        start third activity
     }
     ................
}

在SharedPreferences中,我使用了一个should_start_third布尔值来检查第三个活动是否会直接启动。默认为false。

您必须在选中第三个复选框后保存共享首选项的值。

getSharedPreferences(name).edit().putBoolean("should_start_third", true).commit();

相关内容

  • 没有找到相关文章

最新更新