当前位置: 首页 > 知识库问答 >
问题:

如何在按钮上创建计时器并保存在共享首选项(android)中

袁旻
2023-03-14

我想创建一个按钮,点击此按钮后1分钟内不可点击,但重新启动程序后,此按钮是可点击的,因为我不明白-如何将其保存在share d首选项中

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        btn.setEnabled(false);

     new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
                btn.setEnabled(true);

        }
    },120000);
    }
});

但我需要如何在SharedReference中保存这些信息呢?

共有1个答案

那博瀚
2023-03-14

如果你想优先保存你的州,你可以像下面这样做

public void write(String key, boolean value) {
    SharedPreferences.Editor editor = 
    getSharedPreferences("Some Name",MODE_PRIVATE).edit();
    editor.putBoolean(key,value);
    editor.commit();
}

public Boolean read(String key, int defValue) {
    return getSharedPreferences("Some Name",MODE_PRIVATE).getBoolean(key, defValue);
}

点击按钮后,您可以将您的值写入共享首选项,当您渲染按钮时,您可以从首选项中获取值,并根据该值启用和禁用该值,当您的时间结束时,还可以将该值另存为false。

 类似资料:
  • 你好,我正在尝试保存一个共享首选项的主题。当用户点击某个主题的按钮时,我希望该主题被设置为默认并保存,所以当他们重新打开应用程序时,它仍然是那个新主题。

  • 对于下面的代码,我正在尝试检索共享的首选项,我认为它保存正确,但当我回到登录屏幕时,所有的数据都消失了。我需要它留在我回到这个屏幕上。所以我在个人资料页面上输入姓名、年龄和id到三个单独的行中。然后按下save按钮,然后按下action Bar上的back转到前面的页面。当我回到个人资料页面时,我的信息应该还在那里,但它没有任何帮助?

  • 非常感谢您的光临,我正在为学校开发一个应用程序,我遇到了另一个问题。该应用程序的主要思想是跟踪您的卡路里,我希望它能节省卡路里,所以当应用程序关闭时,它仍然会记住他们。我已经忙了一段时间了,现在尝试使用SavedPreferences,但我总是出现错误。我希望有人能帮我。 } 我可能做了很多明显的愚蠢的事情,但我真的弄不明白。 多谢!

  • 问题内容: 如何确保UTF8用于共享首选项菜单?我有一个android偏好设置菜单,除其他外,该菜单允许用户设置其名称。 我需要知道如何将共享首选项中存储的数据转换为UTF8格式 在res / xml文件夹中一个名为settings的文件中,首选项菜单使用utf8编码以xml布局,如下所示: 处理这个的类是 我假设该设置 将确保文本将以UTF8格式编码,但这并非总是如此。我正在获得各种格式的价值。

  • 我想在我的共享首选项中保存一些数据,但在保存时,例外情况如下。在第SharedReferences行。编辑器存储=默认数据。编辑(); 05-29 20:20:53.234:E/AndroidRuntime(27650):致命异常:main 05-29 20:20:53.234:E/AndroidRuntime(27650):java。lang.NullPointerException 05-29

  • 我正在尝试将Firebase DataSnapshot对象保存到SharedReferences。 请看这篇文章,我在其中设计了一种方法来实现这一点。 ... 到目前为止,我已经尝试了: > 使用Gson。Json方法。结果:似乎不起作用。。。我不认为DataSnapshot类是“POJO”类型的类。。。至少没有一个能与gson合作。 使用此方法: 私有静态字符串toString(可序列化o)引发