I have this problem with my application, when I call to show a dialog, it was called twice. This only happens with Android 4.1 and higher. The lower version is working fine, so I don't think this is a problem with the code.
Have you heard this problem before?
here is the code:
Button edit = (Button) ad.findViewById(R.id.editBtn); edit.setTypeface(roboto); edit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { setDate(); ad.dismiss(); } }); ad.show(); ad.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { shiftsActivity.setPressed(true); } }); } public void setDate() { // Initialize and open the set date dialog DatePickerDialog setDateDialog = new DatePickerDialog(Shifts.this, datePickerListener, dateAndTime.get(Calendar.YEAR), dateAndTime.get(Calendar.MONTH), dateAndTime.get(Calendar.DAY_OF_MONTH)); setDateDialog.setTitle("Set Date"); setDateDialog.show(); } public void setStartTime() { TimePickerDialog setStartTimeDialog = new TimePickerDialog(Shifts.this, startTimePicker, dateAndTime.get(Calendar.HOUR), dateAndTime.get(Calendar.MINUTE), true); setStartTimeDialog.setTitle("Started At:"); setStartTimeDialog.show(); } public void setEndTime() { TimePickerDialog setEndTimeDialog = new TimePickerDialog(Shifts.this, setEndTime, dateAndTime.get(Calendar.HOUR), dateAndTime.get(Calendar.MINUTE), true); setEndTimeDialog.setTitle("Ended:"); setEndTimeDialog.show(); } TimePickerDialog.OnTimeSetListener startTimePicker = new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { startIntHours = hourOfDay; startIntMinutes = minute; editStartTime = String.format("%02d", hourOfDay) + ":" + String.format("%02d", minute); setEndTime(); } }; TimePickerDialog.OnTimeSetListener setEndTime = new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { finishIntHours = hourOfDay; finsihIntMinutes = minute; if (finishIntHours < startIntHours) { finishIntHours = finishIntHours + Utility.HOURS_TIME_UNIT; } if (finsihIntMinutes < startIntMinutes) { finsihIntMinutes = finsihIntMinutes + Utility.MINUTES_TIME_UNIT; } totalHours = finishIntHours - startIntHours; totalMinutes = finsihIntMinutes - startIntMinutes; Log.i("TotalHours in time picker", "" + totalHours); Log.i("Totalminute in time picker", "" + totalMinutes); editEndTime = String.format("%02d", hourOfDay) + ":" + String.format("%02d", minute); replace(Shifts.view, Shifts.position); } };
android dialog
Yosi199 Dec 6 '12 at 17:18 2012-12-06 17:18
source share