Sto riscontrando alcuni problemi nell'implementare un TimePicker nella mia applicazione che consente all'utente di modificare l'orario di un record del database prima di inserirlo.Pulsante Android TimePicker AM/PM che non sta invocando onTimeChanged
Il problema è che quando viene premuto il pulsante AM/PM, il metodo onTimeChanged (View, int, int) non viene richiamato. Ogni volta che cambio il valore di ora o minuto di TimePicker, viene chiamato onTimeChanged(), tuttavia.
Scenari:
- utente clicca semplicemente il pulsante AM/PM: AM/PM è scatta NON aggiornato
- utente le ore/minuti: ora viene aggiornata scatta
- utente AM/Il pulsante PM cambia le ore/minuti: Ora e AM/PM vengono aggiornati
Mi sbaglio nel pensare che il pulsante AM/PM possa essere cliccato per aggiornare il pulsante AM/PM tempo senza dover cambiare anche un valore temporale dopo il pulsante am/pm?
Ho messo insieme un piccolo progetto di prova a replicare questo ed ecco il codice:
Attività
public class TestActivity extends Activity implements OnTimeChangedListener {
private Calendar mCalendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timepicker);
mCalendar = Calendar.getInstance();
TimePicker tp = (TimePicker)findViewById(R.id.timepicker);
tp.setIs24HourView(false);
tp.setOnTimeChangedListener(this);
}
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
Log.d("TAG", "In onTimeChanged");
mCalendar.set(mCalendar.get(Calendar.YEAR),
mCalendar.get(Calendar.MONTH),
mCalendar.get(Calendar.DAY_OF_MONTH),
hourOfDay,
minute);
setCalendarTime();
}
private void setCalendarTime() {
Date date = mCalendar.getTime();
if (date != null) {
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yy '@' h:mm a");
String dateTime = formatter.format(date);
Toast.makeText(this, dateTime, Toast.LENGTH_LONG).show();
}
}
}
timepicker.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<TimePicker android:id="@+id/timepicker"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"/>
</LinearLayout>
Grazie per queste informazioni, sam! – hooked82
l'errore è stato segnalato dal 2011 ... bello –
grazie per le informazioni vivik – Jinu