Joã*_*hin 6 android sharedpreferences
我有这个代码:
public class Register extends Activity {
private LinearLayout layout;
private TextView debug;
public static final String USER_CONFIG = "UserConfigs";
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
SharedPreferences settings = getSharedPreferences(USER_CONFIG, MODE_PRIVATE);
boolean registered = settings.getBoolean("registered", false);
layout = (LinearLayout) findViewById(R.id.layoutRegister);
if (!registered) {
debug = new TextView(this);
debug.setText("You have to register");
layout.addView (debug);
//TO DO user registration
settings.edit().putBoolean("registered", true);
settings.edit().commit();
} else {
debug = new TextView(this);
debug.setText("You have already registered");
layout.addView (debug);
//TO DO skip to next screen
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我重新启动应用程序时,我总是被注册为"假".我也尝试过将其提交onStop()并得到相同的结果.我在这里看到了有关此问题的其他主题,但没有一个与我有同样的问题.
有任何想法吗?
cjk*_*cjk 20
你不能这样做:
settings.edit().putBoolean("registered", true);
settings.edit().commit();
Run Code Online (Sandbox Code Playgroud)
您需要获取编辑器对象,然后进行更改:
Editor editor = settings.edit();
editor.putBoolean(...);
editor.commit();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5834 次 |
| 最近记录: |