Почему мой onClick работает только после двух кликов

У меня есть 4 кнопки в моей активности, и все кнопки имеют одинаковое действие. Так что я определил oclick в Xml. Нажатие кнопки должно открыть диалоговое окно выбора даты. Но мой выбор даты открывается только после двух нажатий в моем Samsung S2(Android 4.0.4). Но все остальные устройства, которые работают нормально.

1.Samsung Star 4.1

2.Видеокон 2.3

Декларация XML onclick

     <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:onClick="AddTime"
           />

Метод AddTime в Activity

   public void AddTime(View v)
{
  Log.e("Test", "Button Clicked");//On evey click I am getting this log
    showDialog(1);//The method showDialog(int) from the type Activity is deprecated

}

  @Override
protected Dialog onCreateDialog(int id) {
        return new TimePickerDialog(this, timePickerListener, hour, minute,false);
}

  private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {

    @Override
    public void onTimeSet(TimePicker arg0, int hourofDay, int min) {

        // TODO Auto-generated method stub
        hour=hourofDay;
        minute=min;
        String _24HourTime;
            }
};

1 ответ

Решение

Поскольку showDialog является deprecated Вы не можете полагаться на него, я бы порекомендовал вам просто создать диалог из метода.

public void showTimePickerDialog()
{
    TimePickerDialog s4 = new TimePickerDialog(this, null, 1, 1,false);
    s4.show();
}

И позвони в свой onClick метод

public void AddTime(View v)
{
   showTimePickerDialog();
}
Другие вопросы по тегам