1

我正在开发一个像愤怒的小鸟这样的游戏,我在其中使用锁定屏幕,其中第一轮默认情况下可以玩,但现在又锁定了 9 轮我想知道如何创建一个活动来在完成轮次时解锁这些轮次.

我已决定使用共享首选项,但在我的情况下,共享首选项有时有效,有时无效。

意味着有时我发现下一轮的锁是打开的,而且很少……

if (mScore >= 90) {
    sharedpref();       
}

public void sharedpref() {
   SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);

   Editor editor = settings.edit();
   editor.putString("key", "5");
   editor.commit(); 
}

在另一个活动中:

    SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
    String value = settings.getString("key", "");
    Button i2;
    if(value=="5") {
        i2.setBackgroundResource(R.drawable.lockopen);      
    } 
    else {
        i2.setBackgroundResource(R.drawable.lockclose);
    }
4

1 回答 1

1

作为johnchen902给出的解决方案

 SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
  String value = settings.getString("key", "");
  Button i2;
   if(value.equals("5")){
    i2.setBackgroundResource(R.drawable.lockopen);

}else{
i2.setBackgroundResource(R.drawable.lockclose);
 }

现在工作正常

代替

 SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
String value = settings.getString("key", "");
  Button i2;
if(value=="5"){
    i2.setBackgroundResource(R.drawable.lockopen);

}else{
i2.setBackgroundResource(R.drawable.lockclose);
}
于 2013-06-08T09:03:58.760 回答