android– 按下后退按钮时保存状态

android– 按下后退按钮时保存状态,第1张

概述我正在开发一个Android应用程序.如果我按下后退按钮应该保存我的应用程序的状态.我应该用什么来保存状态..am与所有这些onPause(),onResume()或onRestoresavedInstance()混淆???我应该使用哪些来保存我的应用程序状态?例如,当我按退出按钮时,我的整个应用程序应该退出我已经使用了fi

我正在开发一个Android应用程序.如果我按下后退按钮应该保存我的应用程序的状态.我应该用什么来保存状态..am与所有这些onPause(),onResume()或onRestoresavedInstance()混淆???我应该使用哪些来保存我的应用程序状态?例如,当我按退出按钮时,我的整个应用程序应该退出我已经使用了finish()?

   public voID onCreate(Bundle savedInstanceState)   {       super.onCreate(savedInstanceState);    setContentVIEw(R.layout.main);    s1=(button)findVIEwByID(R.ID.sn1);    s1.setonClickListener(this);    LoadPreferences();    s1.setEnabled(false);    }    public voID SavePreferences() {        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);        SharedPreferences.Editor editor = sharedPreferences.edit();        editor.putBoolean("state", s1.isEnabled());       } public voID LoadPreferences() {     System.out.println("LoadPrefe");        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);        Boolean  state = sharedPreferences.getBoolean("state", false);        s1.setEnabled(state);       } @OverrIDe public voID onBackpressed() {    System.out.println("backbutton");    SavePreferences();     super.onBackpressed(); }

解决方法:

您需要做的是,而不是使用KeyCode Back,您已在Activity中覆盖以下方法,

@OverrIDepublic voID onBackpressed() {    super.onBackpressed();}

并使用SharedPrefrence保存button的状态,下次当您输入Activity时,从Sharedpreference获取值并相应地设置按钮的启用状态.

例,

private voID SavePreferences(){    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);    SharedPreferences.Editor editor = sharedPreferences.edit();    editor.putBoolean("state", button.isEnabled());    editor.commit();   // I missed to save the data to preference here,.    }   private voID LoadPreferences(){    SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);    Boolean  state = sharedPreferences.getBoolean("state", false);    button.setEnabled(state);   }   @OverrIDepublic voID onBackpressed() {    SavePreferences();    super.onBackpressed();}onCreate(Bundle savedInstanceState){   //just a rough sketch of where you should load the data    LoadPreferences();}
总结

以上是内存溢出为你收集整理的android – 按下后退按钮时保存状态全部内容,希望文章能够帮你解决android – 按下后退按钮时保存状态所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1102503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存