所以我在应用程序中开发一个功能,我将布尔设置为true
,这导致一些操作正在完成。现在,按钮的onClick
将执行一些相关任务,并将布尔值设置为false
。这很好,但效果很好,但一旦更改为false
,我想在重新启动应用时将其指定为false
而不是true。我试着找了一会儿没有运气。将不胜感激。
我只学习Java和Android应用程序开发2个月,现在我正在制作程序,所以请耐心等待我。也许某种使用布尔而不是布尔值?我没有走得太远。
public class Constants {
public static boolean VARIABLE = true;
}
public Fragment {
mSharedPreferencesManager.setFeatureUpdateCheck(Constants.VARIABLE);
if(mSharedPreferencesManager.getFeatureUpdateCheck())
chatUpdateNotif.setVisibility(View.VISIBLE);
else
chatUpdateNotif.setVisibility(View.GONE);
@OnClick (R.id.chat_notification_close_button)
public void onClickHideNotification() {
chatUpdateNotif.setVisibility(View.GONE);
Constants.VARIABLE = false;
答案 0 :(得分:0)
使用共享首选项在更改时保存布尔值,如下所示:
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
"DataSaved", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean("VARIABLE", VARIABLE);
editor.commit();
然后在Constant写下这个:
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
"DataSaved", Context.MODE_PRIVATE);
VARIABLE = sharedPref.getBoolean("VARIABLE", false);
答案 1 :(得分:0)
private String MY_PREFS_NAME = "sharedPref";
这设置布尔值:
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putBoolean("Value", false);
editor.commit();
这得到布尔值:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
TextView textview = (TextView)findViewById(R.id.textview);
textview.setText(String.valueOf(prefs.getBoolean("Value", true)));
此textview将打印出false,因为已设置布尔值。如果未设置布尔值,则为true(默认值)。
答案 2 :(得分:0)
您的问题非常不清楚。如果您尝试在关闭应用程序时保存值并重新启动值,请尝试使用共享首选项。
1.点击按钮
时保存值SharedPreferences sharedPref = getSharedPreferences("YOUR PREF NAME", Context.MODE_PRIVATE);
sharedPref.edit().putBoolean("VALUE NAME", true).apply();
2.从restring app的首选项中恢复值
sharedPref.getBoolean("VALUE NAME", null);
修改:如果您没有使用活动,请使用上下文来使用偏好
SharedPreferences sharedPref = context.getSharedPreferences("YOUR PREF NAME", Context.MODE_PRIVATE);