-
come fare un' app che salva i contenuti all'uscita?
mi spiego meglio, vorrei fare un app che contiene parecchi CheckBox, perciò, entro nell'applicazione seleziono dei CheckBox esco dalla app e quando rientro i CheckBox selezionati rimangono selezionati mi sapete aiutare?
grazie mille in anticipo a tutti!!!!!!!!!!
-
-
-
Androidiani Power User
Utilizza le SharedPrefereces per memorizzare un valore booleano che utilizzerai poi all'avvio dell'applicazione per flaggare le CheckBox.
-
-
grazie, ho provato ma penso di sbagliare qualcosa perché i CheckBox all'uscita della app non vengono salvati, quando la riapro non sono selezionati, riusciresti a postarmi del codice dando come android:id="@+id/checkBox1" ?
-
-
Androidiani Power User
Posta il codice che hai scritto.
-
-
java:
public class MainActivity extends ActionBarActivity {
CheckBox checkBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox = (CheckBox) findViewById(R.id.checkBox1);
loadSavedPreferences();
}
private void loadSavedPreferences() {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
boolean checkBoxValue = sharedPreferences.getBoolean("CheckBox_Value", false);
if (checkBoxValue) {
checkBox.setChecked(true);
} else {
checkBox.setChecked(false);
}
}
private void savePreferences(String key, boolean value) {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
}
xml:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.rissss.appnanacodes.MainActivit y" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="0,1,2,3"
>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/row6">
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox1" />
</TableRow>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/row7">
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox2" />
<CheckBox
android:id="@+id/checkBox4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox3" />
</TableRow>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/row8">
<CheckBox
android:id="@+id/checkBox5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox4" />
<CheckBox
android:id="@+id/checkBox6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox5" />
</TableRow>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/row9">
<CheckBox
android:id="@+id/checkBox7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox6" />
<CheckBox
android:id="@+id/checkBox11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox7" />
</TableRow>
<TableRow android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/row10">
<CheckBox
android:id="@+id/checkBox9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox8" />
<CheckBox
android:id="@+id/checkBox10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox9" />
</TableRow>
</TableLayout>
</ScrollView>
intanto l'ho avevo fatto per un checkBox ma non funziona
-
-
Androidiani Power User
Certo che non funziona, tu carichi soltanto il valore booleano ma non lo salvi mai e di default ritorna false. Devi salvare lo stato della checkbox facendo qualcosa come questo:
Io ho scritto a suo tempo questa classe per la gestione delle SharedPreferences, ti consiglio di usarla.
P.S. Cortesemente, quando posti del codice formattalo utilizzando i tags Java e XML altrimenti è faticoso leggerlo.
-
Il seguente Utente ha ringraziato Crotan per il post:
-
grazie mille
Ultima modifica di Mood; 04-01-15 alle 18:59
-
-
dato che ho messo più CheckBox come posso fare? in modo semplice?
-
-
-
Permessi di invio
- Non puoi inserire discussioni
- Non puoi inserire risposte
- Non puoi inserire allegati
- Non puoi modificare i tuoi messaggi
-
Regole del Forum