2016-03-14 2 views
4

У меня возникла проблема с щелчком редактируемого текста, я хочу, чтобы диалоговое окно выбора даты и времени появлялось при щелчке по редактированию текста. Пожалуйста, помогите мне.дата и время Проверка в android с помощью прослушивателя edittext

public void setstarttime() 
    { 
     startTimePicker = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { 
      public void onTimeSet(TimePicker picker, int hourOfDay, int minute) { 

       //set selected time to calender 
       //@author om 
       startTimeCal.set(Calendar.MINUTE, minute); 
       startTimeCal.set(Calendar.HOUR, hourOfDay); 

       mStartTimeHour = hourOfDay; 
       mStartTimeMinute = minute; 


       String am_pm = (hourOfDay < 12) ? "AM" : "PM"; 
       starttime.setText(CommonUtil.getFormattedTimeInString(startTimeCal.getTimeInMillis()) + " " + am_pm); 
       // timeValidation(TAG_STARTTIME); 
      } 
     }, mStartTimeHour, mStartTimeMinute, false); 
     startTimePicker.show(); 
    } 

ответ

1

Вы должны осуществлять OnFocusChangeListener

EditText myEditText=......; 
    myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
     @Override 
     public void onFocusChange(View v, boolean hasFocus) { 
      if(hasFocus){ 
      // SHOW YOUR DIALOG 
      } 
     } 
    }); 
0

Попробуйте с помощью следующего кода:

timeEditText = (EditText) findViewById(R.id.timeEditText); 
timeEditText.setFocusable(false); 
timeEditText.setClickable(true);  

timeEditText.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Calendar mcurrentTime = Calendar.getInstance(); 
     final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY); 
     final int min = mcurrentTime.get(Calendar.MINUTE); 
     TimePickerDialog mTimePicker; 
     mTimePicker = new TimePickerDialog(v.getContext(), new TimePickerDialog.OnTimeSetListener() { 
      @Override 
      public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
       String time = hourOfDay + ":" + minute; 
       timeEditText.setText(time); 
      } 
     }, hour, min, true); 

     mTimePicker.setTitle("Select Time"); 
     mTimePicker.show(); 
    } 
});