0

SharedPreferences用来知道用户是否在其中选择了某些ViewPager内容并将其传递给相关的片段。

例如,如果有选择,那么变量isPassed = 1

如果目前还没有选择isPassed = 0

问题

SharedPreferences数据和值isPassed = 1始终存在,这扰乱了我当前在应用程序中的流动。所以我尝试在课堂上分配isPassed=0,但没有奏效。onDestoryViewPager

有人可以建议对此进行任何改进吗?或者至少建议我一种存储值的方法,直到用户进入应用程序,一旦用户退出应用程序,所有值都会被重置。请帮忙。

4

4 回答 4

2

而不是使用共享首选项创建一个类并使用 setter 和 getter 方法来设置和获取值。一旦您退出应用程序,您的价值也将被销毁。

于 2013-10-04T09:16:50.120 回答
1

如果您不希望您的信息在应用程序范围之外被持久化,那么SharedPreferences这确实不是一个好地方。

你为什么不尝试将它存储在你的Application类的实例中?在您的用户退出应用程序后,该实例将被系统迅速销毁。

于 2013-10-04T09:16:15.450 回答
1

利用

public static int isPassed=0;

它将存储值,直到用户进入应用程序,一旦用户退出应用程序,它将重置。

您可以通过以下方式在另一个类中使用它Classname.isPassed=1;

于 2013-10-04T09:28:19.033 回答
0

如果您要查找的只是一个标志,您可以创建一个空文件。创建文件的几种方法

File myFile =new File(directory.getAbsolutePath() + File.separator +  "myFile.txt");
try
  {
   new_file.createNewFile();
  }
  catch (IOException e)
  {
  }

检查它是否存在 File myFile = context.getFileStreamPath(FILE_NAME); 如果(文件。存在())

删除它 File myFile = new File(selectedFilePath); 布尔删除 = file.delete();

于 2013-10-04T09:37:52.820 回答