[英]How to save condition of button after closing app?
这是按钮的代码:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
button.setEnabled(false);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
button.setEnabled(true);
}
},120000);
}
});
我知道我需要创建一个共享首选项,但我不明白如何保存带有计时器的按钮的条件,因为我知道如何在不使用处理程序的情况下保存。 我怎样才能做到这一点?
您必须使用共享首选项来保存 state。然后,在创建您的片段或活动的视图时,您应该检查您使用共享首选项保存的值并相应地设置按钮 state。
请允许我在 Kotlin 中回答,也许你或你的 IDE 可以做翻译。
要将按钮 state 保存到共享首选项,请定义此 function;
fun setButtonState(context: Context, buttonEnabled: Boolean) {
PreferenceManager.getDefaultSharedPreference(context).edit()
.putBoolean("button", buttonEnabled).apply()
}
然后从共享首选项中获取您保存的按钮 state,定义这个 function;
fun getButtonState(context: Context): Boolean {
return PreferenceManager.getDefaultSharedPreference(context)
.getBoolean("button", false)
}
在您的onCreateView中,根据您保存的值设置按钮 state。
val buttonEnabled = getButtonState(requireContext())
button = view.findViewById(R.id.button)
button.isEnabled = buttonEnabled
然后在共享首选项中切换保存的 state,如下所示:
button.setOnClickListener {
button.isEnabled = false
setButtonState(requireContext(), false)
Handler(Looper.getMainLooper()).postDelayed({
button.isEnabled = true
setButtonState(requireContext(), true)
}, 120000)
}
我希望这有帮助。 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.