2016-12-16 7 views
0

Пример кода в текстовой игре. Количество видимых переключателей меняется с каждым выбором, как показано ниже.необходимо знать, как использовать логическое значение для сохранения и загрузки видимости с помощью SharedPreferences.

Затем я показал игровое заставку и загрузчик игр.

if (rb1.isChecked() && (x == 1)) { 
    t.setText("Inside the toolbox you find a small key and 8 inch metal file with a rounded point " 
      + "at the end." 
      + "What should I take?"); 
    rb1.setText("Take the key"); 
    rb2.setText("Take the file"); 
    rb3.setText("Take both"); 
    rb4.setText("Take nothing"); 
    rb5.setVisibility(View.INVISIBLE); 

    SharedPreferences sharedpreferences = getSharedPreferences("MyData", Context.MODE_PRIVATE); 
    SharedPreferences.Editor SharedPreferences sharedpreferences = getSharedPreferences("MyData", Context.MODE_PRIVATE); 
    String name = sharedpreferences.getString("name1", DEFAULT); 
    String name2 = sharedpreferences.getString("name2", DEFAULT); 
    String name3 = sharedpreferences.getString("name3", DEFAULT); 
    String name4 = sharedpreferences.getString("name4", DEFAULT); 
    String name5 = sharedpreferences.getString("name5", DEFAULT); 

    if (name.equals(DEFAULT)) { 
     Toast.makeText(this, "No data was found", Toast.LENGTH_LONG).show(); 
    } else { 
     rb1.setText(name); 
     rb2.setText(name2); 
     rb3.setText(name3); 
     rb4.setText(name4); 
     rb5.setText(name5); 

    } 
    editor sharedpreferences.edit(); 
    editor.putString("name1", rb1.getText().toString()); 
    editor.putString("name2", rb2.getText().toString()); 
    editor.putString("name3", rb3.getText().toString()); 
    editor.putString("name4", rb4.getText().toString()); 
    editor.putString("name5", rb5.getText().toString()); 
    editor.commit(); 

    SharedPreferences sharedpreferences = getSharedPreferences("MyData", Context.MODE_PRIVATE); 
    String name = sharedpreferences.getString("name1", DEFAULT); 
    String name2 = sharedpreferences.getString("name2", DEFAULT); 
    String name3 = sharedpreferences.getString("name3", DEFAULT); 
    String name4 = sharedpreferences.getString("name4", DEFAULT); 
    String name5 = sharedpreferences.getString("name5", DEFAULT); 

    if (name.equals(DEFAULT)) { 
     Toast.makeText(this, "No data was found", Toast.LENGTH_LONG).show(); 
    } else { 
     rb1.setText(name); 
     rb2.setText(name2); 
     rb3.setText(name3); 
     rb4.setText(name4); 
     rb5.setText(name5); 

    } 
} 
+0

что-то вроде, где это ваша проблема, то, что вы пробовали, что вы triing делать, ... было бы неплохо иметь –

+0

Пытались ли вы использовать статические значения? – Gatusko

+0

Ну, я все еще учусь. Я вообще не знаю, как назначить значение видимости объекта логическому и сохранить его. Прошлой ночью я попробовал кое-что и просто смутился. – KingBuzzo

ответ

0
//set the bool 
UserDefaults.standard.set(true, forKey: "visibility") 
UserDefaults.standard.synchronize() 

//retrieve the bool 
if let myBool = UserDefaults.standard.object(forKey: "visibility") as? Bool { 
    print(myBool) 
}