Autore Topic: Salvare una variabile int con il metodo SharedPreferences  (Letto 318 volte)

Offline Ulisse.Odisseo

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows
Salvare una variabile int con il metodo SharedPreferences
« il: 11 Marzo 2014, 17:24:15 CET »
0
Salve a tutti,
non sono molto pratico di Android/Java, vorrei se possibile salvare con il Metodo SharedPreferences una variabile di tipo "int" .
Mi spiego meglio, io consento all'utente di poter scegliere l'immagine di un ImageButton ed in base a quella scelta vorrò dare un valore diverso a una variabile int ( la utilizzo a mo' di flag/bandiera). Qualora fotte un problema di tipologia di variabile posso utilizzare anche una String ecc...

La personalizzazioe dell'immagine viene salvata, invece il valore-flag che userò come condizione, non viene salvato
Esiste una soluzione??
----Eventualmente è possibile creare un IF-ELSE Statement avendo come discriminante il percorso
R.drawable.immaginesceltadallutente o R.drawable.eventualesecondascelta se si , che Metodo andrà usato?
grazie
Posto il mio codice:
Codice (Java): [Seleziona]
    private void scelta() {
               
                final SharedPreferences optio =                
                                getSharedPreferences(CAMBIAMENTO, Context.MODE_PRIVATE);
       
                final SharedPreferences optio2 =       
                        getSharedPreferences(CAMBIAMENTO2, Context.MODE_PRIVATE);
               
                button = (ImageButton) findViewById(R.id.imageButton1);
                button.setImageResource(optio.getInt(CAMBIAMENTO, R.drawable.ingranaggio));    
                button.setOnLongClickListener(new OnLongClickListener(){
                       
                        @Override
                        public boolean onLongClick(View v) {
                       
                                final Dialog dialog = new Dialog(MainActivity.this);
                                 dialog.setContentView(R.layout.dialog);
                                 dialog.setTitle("Titolo menù scelta");
         
                                TextView text = (TextView) dialog.findViewById(R.id.text);
                                text.setText("Scegli l'icona");
                                ImageView image = (ImageView) dialog.findViewById(R.id.image);
                                image.setImageResource(R.drawable.ic_launcher);
                               
                                dialog.show();
                               
                                Button dialogButtonPrimo = (Button) dialog.findViewById(R.id.dialogButtonPrimoID);
                               
                                dialogButtonPrimo.setOnClickListener(new OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                                int bandiera= 1;
                                               
                                                SharedPreferences.Editor salvataggio2= optio2.edit();
                                                salvataggio2.putInt("sempre2", bandiera);
                                                salvataggio2.commit();
                                               
                                                button.setImageResource(R.drawable.immaginesceltadallutente);
                                               
                                                SharedPreferences.Editor salvataggio= optio.edit();
                                                salvataggio.putInt("sempre", R.drawable.immaginesceltadallutente);
                                                salvataggio.commit();          
                                                dialog.dismiss();
                                                        }});
                               
Button dialogButtonSeconda = (Button) dialog.findViewById(R.id.dialogButtonSecondaID);
                       
                dialogButtonSeconda.setOnClickListener(new OnClickListener(){

                                @Override
                                public void onClick(View v) {
                                       
                                        button.setImageResource(R.drawable.eventualesecondascelta);
                                       
                                                bandiera= 2;
                                                SharedPreferences.Editor salvataggio2= optio2.edit();
                                                salvataggio2.putInt("sempre2", bandiera);
                                                salvataggio2.commit();

                                        SharedPreferences.Editor salvataggio= optio.edit();
                                        salvataggio.putInt("sempre", R.drawable.eventualesecondascelta);
                                        salvataggio.commit();

                                        dialog.dismiss();
                                                                                        }});
               
                                return true;
}});}

        private void sceltaoperativa() {
                button.setOnClickListener(new OnClickListener(){

                        @Override
                        public void onClick(View v) {
                               
                                if (bandiera==1) {
                                        Toast.makeText(MainActivity.this, "primascelta", Toast.LENGTH_LONG)
                                        .show();
                                        }
                                if (bandiera==2) {
                                        Toast.makeText(MainActivity.this, "secondascelta", Toast.LENGTH_LONG)
                                        .show();
                                }
                       
                                if(bandiera!= 1 && bandiera!=2)  {
                                        Toast.makeText(MainActivity.this, "non è stato selezionato nulla", Toast.LENGTH_LONG)
                                        .show();
                                }
                        }
                       
                });
               
        }
       
}

Grazie mille a tutti per l'attenzione!|

Offline arlabs

  • Utente normale
  • ***
  • Post: 434
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS7
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Salvare una variabile int con il metodo SharedPreferences
« Risposta #1 il: 11 Marzo 2014, 22:19:46 CET »
+1
Devi fare getInt( "sempre" ) e non di CAMBIAMENTO

Ciao.