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 に答える