首次推出MainActivity时,我提出了这个方法:
startChoice = SharedUtilities.getInstance().getChoice(getApplicationContext());
if(startChoice ==""){
start(MainActivity.this,RegistrationActivity.class);
}else{
........
}
这是获取String startChoice
的方法public String getChoice(Context context) {
appSharedPrefs = context.getSharedPreferences("PsiceToday",Context.MODE_PRIVATE);
thisChoise = appSharedPrefs.getString("Choice","");
return thisChoise;
}
方法start(MainActivity.this,RegistrationActivity.class)从未调用过,因为在调试startChoise时它不等于""。
你认为我在实施中做错了吗?
答案 0 :(得分:1)
使用string.equals(Object other)函数比较字符串,而不是==运算符。
答案 1 :(得分:1)
试试这个
这是utils类方法
public static String ReadSharePrefrence(Context context, String key) {
// SharedPreferences read_data = context.getSharedPreferences(
// Constant.SHRED_PR.SHARE_PREF, context.MODE_PRIVATE);
//
// return read_data.getString(key, "");
String data;
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
final SharedPreferences.Editor editor = preferences.edit();
data = preferences.getString(key, "");
editor.commit();
return data;
}
当你想使用它时。
String value = Utils.ReadSharePrefrence(this,Constant.KEY);
if(value.equalsIgnoreCase("")){
//put your code
}else{
//put your code.
}
这对我有用。