Довод "против" Modificar EditText Selector de Fechas

Марка Cómo puedo hacer para que cuando una fecha en el Selector de Fechas se añada al EditText?

Código que uso para el Selector de Fechas:

private void setAlarm(Uri passuri){

    Calendar cal = Calendar.getInstance();
    cal.set(datePicker.getYear(),
            datePicker.getMonth(),
            datePicker.getDayOfMonth(),
            timePicker.getCurrentHour(),
            timePicker.getCurrentMinute(),
            00);

Править: @Keops

    private void setAlarm(Uri passuri){

        Calendar cal = Calendar.getInstance();
        cal.set(datePicker.getYear(),
                datePicker.getMonth(),
                datePicker.getDayOfMonth(),
                timePicker.getCurrentHour(),
                timePicker.getCurrentMinute(),
                00);

        String formatoFecha = "d/MM/yyyy";
        DateFormat df = new SimpleDateFormat(formatoFecha);
        String date = df.format(cal.getTime());

        editTextFecha.setText(date);

        String passString = passuri.toString();

        Intent intent = new Intent(getBaseContext(), otrointento.prueba.notif.AlarmReceiver.class);
        intent.putExtra("KEY_TONE_URL", passString);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(
                getBaseContext(),
                RQS_1,
                intent,
                PendingIntent.FLAG_CANCEL_CURRENT);

        AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);

    }
}
0
задан 06.01.2017, 23:44
0 ответов

Ты можешь делать это:

private void setAlarm(Uri passuri){

        Calendar cal = Calendar.getInstance();
        cal.set(datePicker.getYear(),
        datePicker.getMonth(),
        datePicker.getDayOfMonth(),
        timePicker.getCurrentHour(),
        timePicker.getCurrentMinute(),
        00);

       String formatoFecha = "EEE, d MMM yyyy, HH:mm";
       DateFormat df = new SimpleDateFormat(formatoFecha);
       String date = df.format(cal.getTime());

       editText.setText(date);
}

Чтобы бросать в твой Calendar дебет осуществи click listener в твоем EditText:

editText.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        //Aqui invocas a tu calendario 
        invocaCalendario();
    }
});

В твоем layout, к твоему EditText добавь следующую линию, чтобы позволять touch

android:focusable="false"

Код для твоего календаря

    public void invocaCalendario(){
        Calendar mcurrentDate=Calendar.getInstance();
        int anio =mcurrentDate.get(Calendar.YEAR);
        int mes =mcurrentDate.get(Calendar.MONTH);
        int dia=mcurrentDate.get(Calendar.DAY_OF_MONTH);

        DatePickerDialog mDatePicker=new DatePickerDialog(MiActivity.this, new OnDateSetListener() {                  
            public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {

                // Tu código
            }
        },anio, mes, dia);
        mDatePicker.setTitle("Selecciona Fecha");                
        mDatePicker.show();  }

  }
3
ответ дан 03.12.2019, 17:51

Ты можешь пробовать сохраняя данные в целых числах и перемещать их в поле таким образом:

    private Edittext texto;
    private int datePickerAnio;
    private int datePickerMes;
    private int datePickerDia;
    private int hora;
    private int minuto;



final Calendar cal = Calendar.getInstance();
            datePickerAnio = c.get(Calendar.YEAR);
            datePickerMes = c.get(Calendar.MONTH);
            datePickerDia = c.get(Calendar.DAY_OF_MONTH);
            hora = timePicker.getCurrentHour();
            minuto = timePicker.getCurrentMinute();

mostrarFecha();

private void mostrarFecha() {
        texto.setText(
            new StringBuilder()

                    .append(datePickerDia ).append("-")
                    .append(datePickerMes + 1).append("-")
                    .append(datePickerAnio ).append(" "));
    }
1
ответ дан 03.12.2019, 17:51