TimePicker boîte de Dialogue en cliquant sur EditText

J'ai déjà reçu un DatePicker qui apparaît lorsque l'utilisateur clique sur le EditText champ

eReminderDate.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //TODO Auto-generated method stub
                //To show current date in the datepicker
                Calendar mcurrentDate = Calendar.getInstance();
                int mYear = mcurrentDate.get(Calendar.YEAR);
                int mMonth = mcurrentDate.get(Calendar.MONTH);
                int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);

                DatePickerDialog mDatePicker;
                mDatePicker = new DatePickerDialog(AddReminder.this, new OnDateSetListener() {
                    public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
                        //TODO Auto-generated method stub
                    /*      Your code   to get date and time    */
                        selectedmonth = selectedmonth + 1;
                        eReminderDate.setText("" + selectedday + "/" + selectedmonth + "/" + selectedyear);
                    }
                }, mYear, mMonth, mDay);
                mDatePicker.setTitle("Select Date");
                mDatePicker.show();
            }
        });

J'ai essayé de faire un TimePicker d'une manière similaire, mais a été incapable de le faire fonctionner. C'est ma tentative de faire fonctionner

 eReminderTime.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //TODO Auto-generated method stub
                Calendar mcurrentTime = Calendar.getInstance();
                int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
                int minute = mcurrentTime.get(Calendar.MINUTE);
                TimePickerDialog mTimePicker;
                mTimePicker = new TimePickerDialog(AddReminder.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                        eReminderTime.setText( ""selectedHour + ":" + selectedMinute);
                    }
                }, hour, minute);
                mTimePicker.setTitle("Select Time");
                mTimePicker.show();

            }
        });

Est-il impossible de le faire similaire à la façon dont je l'ai fait pour DatePicker?

J'ai essayé, même juste une TimePicker pop-up une fois que le EditText champ est cliqué avec ce code.

      eReminderTime.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            //TODO Auto-generated method stub
            showDialog(TIME_DIALOG_ID);
        }
    });

Pour une raison quelconque, quand je suis entré dans Android Studio le "showDialog' a été marqué à l'extérieur.

Quelqu'un peut-il me donner des conseils sur les endroits où je vais mal? Ou suis-je tout simplement allez avoir à utiliser un DialogFragment?

  • Ce qui ne fait pas travailler dans votre deuxième bloc de code?, c'est juste qu'il apparaît pas, qu'il ne compile pas?
  • Affiche une erreur à la setText partie entre les "" et selectedHour, dit un ',' ou un ')' est nécessaire, mais quand je mets un ',' dit-on "ne peut pas résoudre méthode setText(java.lang.String, java.lang.String)"