0

我是android编程的菜鸟。我有一个小问题。当我单击 ImageView 时,我使该 ImageView 不可见并将 Button 设置为可见。我的问题是你如何保存这个?例如,我单击 ImageView,Button 出现,而​​ ImageView 消失。然后我退出应用程序并重新进入相​​同的活动,我希望该按钮保留在那里。我该怎么做呢?

谢谢!

4

3 回答 3

2

使用SharedPreferences. 这是一个关于如何使用它们的好教程。例子

但基本上你可以通过将此代码添加到你的Activity

private boolean isVisible;
@Override
public void onCreate(Bundle myBundle){
          super.onCreate(myBundle);
 isVisible = getPreferences(MODE_PRIVATE).getBoolean("visible", true);
  .... your code
  if (isVisible){
    // show ImageView
 } else {
        //don't
 }
}
}
public void onPause(){
       if(isFinishing()){
         getPreferences(MODE_PRIVATE)
        .edit().
        putBoolean("visible", isVisible).commit();
 }
}
于 2013-03-20T17:10:09.373 回答
0

使用共享首选项来保存状态,即在您的情况下说一个布尔值来指示当您退出应用程序时 imageview 是否可见。
当您启动应用程序时,使用此值并相应地执行操作。

对于共享首选项的使用,
如何在 Android 中使用 SharedPreferences 来存储、获取和编辑值

于 2013-03-20T17:06:32.040 回答
0

当您离开应用程序onPause()或单击事件时,您可以将状态存储在共享首选项中,并且可以onCreate()从该首选项中获取返回方法的结果

将数据存储在共享首选项中(在 OnPause() 或单击事件中):

SharedPreferences prefs = getSharedPreferences("yourPrefName", MODE_PRIVATE);            
SharedPreferences.Editor editor = prefs.edit();
// save values
editor.putBoolean("isButtonVisible", true);
editor.commit();

从 sharedPrefs 获取数据(在 onCreate() 中):

 SharedPreferences prefs = getSharedPreferences("yourPrefName", MODE_PRIVATE);
 boolean btnstatus = prefs.getBoolean(Constants.IS_LOGIN, false);
 if (btnstatus) {
       //put the code to show button and hide imageview
 }
于 2013-03-20T17:06:51.977 回答