Domanda

Ciao Io attualmente ho un timepickerDialog:

 TimePickerDialog.OnTimeSetListener time = new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet( TimePicker view, int hourOfDay, int minute ) {
              c.set( Calendar.HOUR_OF_DAY, hourOfDay );
              c.set( Calendar.MINUTE, minute );
              String hour = Integer.toString(hourOfDay);
              String min = Integer.toString(minute);
              String timeStamp = hour + ":" + min;

            }
          };
.

Comunque voglio solo sapere come posso accedere alla stringa di timestamp al di fuori del metodo?Come ho bisogno di usarlo di nuovo per inviarlo in un altro metodo che l'inserisce in un oggetto JSON.Ho provato a rendere la stringa finale o pubblico ma ho appena ricevuto errori.

È stato utile?

Soluzione

Basta creare un campo alla classe denominata Timestamp e cambiarlo.

Esempio:

public class Outside
{
private String timeStamp;

 TimePickerDialog.OnTimeSetListener time = new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet( TimePicker view, int hourOfDay, int minute ) {
              c.set( Calendar.HOUR_OF_DAY, hourOfDay );
              c.set( Calendar.MINUTE, minute );
              String hour = Integer.toString(hourOfDay);
              String min = Integer.toString(minute);
              timeStamp = hour + ":" + min;

            }
          };
}
.

Ho rimosso String timeStamp "String" perché ora si riferisce al campo.

Ora Timestamp contiene hour + ":" + min quando viene chiamato onTimeSet.

P.S Non è possibile renderlo final poiché cambierà ogni volta che viene chiamato onTimeSet.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top