Autore Topic: problema con calendar  (Letto 626 volte)

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
problema con calendar
« il: 21 Febbraio 2013, 12:36:17 CET »
0
Ciao a tutti ,
sto utilizando  java.util.Calendar;
in un seekbar il problema é al primo click sulla barra mi cambia il mese i click sucessivi cambia i giorni
Perche mi cambia il mese?
dove sbaglio?
Codice (Java): [Seleziona]
                 fechaini = (TextView) findViewById(R.id.fecha);
                 numdias = (TextView) findViewById(R.id.numdia);
                 seekbar = (SeekBar) findViewById(R.id.seekbar);
                 /////////////////////////////////////
                 String fecha ="2013-02-20";
       
               
                 Calendar cal = Calendar.getInstance();
                 cal.set(2013,02,20);
             seekbar.setMax(7);
                 String wdia="7";
                 ////////////////////////////
                 SimpleDateFormat dateformat = new SimpleDateFormat("dd-MM-yyyy");
             String newdateww = dateformat.format(cal.getTime());
            fechaini.setText(fecha);
                numdias.setText(wdia);
                 
                seekbar.setOnSeekBarChangeListener( new OnSeekBarChangeListener()
                {
                public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
                {
       
                        Calendar calnew = Calendar.getInstance();
                        //calnew.set(annos, mess, diass);
                        calnew.set(2013, 02, 20);
                         System.out.println("Fecha" +calnew.toString());
                       
                         calnew.add(Calendar.DATE,progress);    //Adding 1 day to current date
                     SimpleDateFormat dateformat = new SimpleDateFormat("dd-MM-yyyy");
                         String newdate = dateformat.format(calnew.getTime());

                 fechaini.setText(newdate);
                }

        public void onStartTrackingTouch(SeekBar seekBar)
                {
                                                                                // TODO Auto-generated method stub
                }

                public void onStopTrackingTouch(SeekBar seekBar)
                {
                                                                                // TODO Auto-generated method stub
                                                                }
                });
        }
Risultato 2013-02-20
al primo click della barra 2013-03-20
click sucessivi 2013-03-21 e lo fa coretto fino al final
pero con il mese sbagliato.

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:problema con calendar
« Risposta #1 il: 21 Febbraio 2013, 14:06:23 CET »
0
Nel Calendar i mesi partono da 0, non da 1.
Codice (Java): [Seleziona]
calnew.set(2013, 02, 20);
Imposta il calendar al 20 marzo 2013, per impostarlo al 20 febbraio il set corretto è:
Codice (Java): [Seleziona]
calnew.set(2013, 1, 20);

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:problema con calendar
« Risposta #2 il: 21 Febbraio 2013, 15:00:13 CET »
0
Grazie ,
per la informazione .hora funziona
Un saludo