首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存设置onDestroy

保存设置onDestroy
EN

Stack Overflow用户
提问于 2013-05-04 23:59:06
回答 1查看 632关注 0票数 0

使用onDestroy退出应用后如何保存设置?

示例:

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

代码语言:javascript
复制
Button button1;

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

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

代码语言:javascript
复制
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被选中而checbox1自动未被选中时,在按下另一个按钮后,它将启动Third_Activity.class。

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

我们应该在这部分写些什么呢?

代码语言:javascript
复制
protected void onDestroy(){
     ....................
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-05 00:07:18

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

代码语言:javascript
复制
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。

选中第三个复选框后,您必须保存共享首选项的值。为了节省时间,可以像下面这样使用。

代码语言:javascript
复制
getSharedPreferences(name).edit().putBoolean("should_start_third", true).commit();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16376185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档