tengo un cuadro de texto de edición y he de llamar ontouchlistener se mostrará un cuadro de diálogo personalizado y cuando hago clic en setdate botón de la fecha en el selector de fecha debe establecer en la edición de texto y el cuadro de diálogo debería obtener despedir. pero no sé cómo obtener la fecha de selector de fecha y de cómo configurar en el cuadro de texto de edición. estoy recibiendo el error en la fecha.init( año, monthOfYear, dayOfMonth, nueva MyOnDateChangedListener() ); y el error isMultiple marcadores en esta línea
– dayOfMonth no puede ser resuelto a un
variable
años no pueden ser resueltas en una variable
– monthOfYear no puede ser resuelto a un
variable

 et4.setOnTouchListener(new OnTouchListener() {
    final Dialog setdatedialog = new Dialog(DropboxActivity.this);                      
    public void onClick(View v) {
    }
    public boolean onTouch(View arg0, MotionEvent arg1) {
    setdatedialog.setContentView(R.layout.datedialog);
    setdatedialog.setTitle("select date of puchase");
    setdatedialog.setCancelable(true);
    setdatedialog.show();
    Button back = (Button)setdatedialog.findViewById(R.id.back3);
    back.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
    setdatedialog.dismiss();
    }
    });
    Button setdate=(Button)setdatedialog.findViewById(R.id.setdate);
    DatePicker date = (DatePicker)setdatedialog.findViewById(R.id.datePicker1);                         
    class MyOnDateChangedListener implements OnDateChangedListener {
        public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){
            et4.setText( "" + dayOfMonth + "-" + (monthOfYear + 1) + "-" + year );
    }
    };
    date.init( year, monthOfYear, dayOfMonth, new MyOnDateChangedListener() );

    return false;
    }
  • Por favor, guión, además de su código.
InformationsquelleAutor sachin | 2012-07-06

2 Comentarios

  1. 4

    Definir editText y Botón en xml y el código de abajo en tu actividad:

            editText=(EditText) findViewById(R.id.date);
            button=(Button) findViewById(R.id.play);
            button.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    showDialog(DATE_DIALOG_ID);
                }
            });
    
            Calendar c=Calendar.getInstance();
            mYear=c.get(Calendar.YEAR);
            mMonth=c.get(Calendar.MONTH);
            mDay=c.get(Calendar.DAY_OF_MONTH);

    Ahora agregar a estas dos funciones para llamar a DatePicker de Diálogo y para establecer la fecha en el Edittext

    protected Dialog onCreateDialog(int id) {
            switch (id) {
            case DATE_DIALOG_ID:
                return new DatePickerDialog(this,
                            mDateSetListener,
                            mYear, mMonth, mDay);
    
            }
    
            return null;
    
        }
        private DatePickerDialog.OnDateSetListener mDateSetListener =new DatePickerDialog.OnDateSetListener() {
    
            public void onDateSet(DatePicker view, int year, int monthOfYear,
                    int dayOfMonth) {
                mYear = year;
                mMonth = monthOfYear;
                mDay = dayOfMonth;
                editText.setText(new StringBuilder().append(mDay).append("/").append(mMonth+1).append("/").append(mYear));
    
            }
    
        };

    Definir este mundial:

        static final int DATE_DIALOG_ID = 0;
        private int mYear,mMonth,mDay;

    Esto le ayudará a ajustar la fecha en el editText.Espero que esto le ayudará.

    • ¿Cómo fijar Error en el edittext, si la fecha no está seleccionada. para mí, sólo el icono de error muestra!
  2. 0

    Tienes que utilizar DatePickerDialog.OnDateSetListener

     private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
                public void onDateSet(DatePicker view, int year, int monthOfYear,
                        int dayOfMonth) {
                    String date_selected = (monthOfYear + 1) + "/" + dayOfMonth + "/"
                            + year;
    
                    editText.setText(date_selected);
    
                }
            };

    crear el Diálogo como de costumbre

     @Override
            protected Dialog onCreateDialog(int id) {
                switch (id) {
                case 1:
                    return new DatePickerDialog(this, mDateSetListener, cyear, cmonth,
                            cday);
                }
                return null;
            }

Dejar respuesta

Please enter your comment!
Please enter your name here