Popup DatePicker for EditText

android, android-datepicker

Solution

I have used setOnClickListener `EditText` method to show a `DatePicker`.

And then in xml file set EditText property `android:focusable="false"`.So that you can avoid focus and virtual keyboards.

yourEditText.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();
            mYear=mcurrentDate.get(Calendar.YEAR);
            mMonth=mcurrentDate.get(Calendar.MONTH);
            mDay=mcurrentDate.get(Calendar.DAY_OF_MONTH);

            DatePickerDialog mDatePicker=new DatePickerDialog(**YourActivityName**.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    */
                }
            },mYear, mMonth, mDay);
            mDatePicker.setTitle("Select date");                
            mDatePicker.show();  }
    });

try this one...comment your thoughts...thanks..

Problem

Been trying to look at other questions on here regarding DatePickers popping up for `EditText` but I've had problems getting it working. I've seen examples where you can use `setOnClickListener` or `setOnTouchListener`, which one would be the best? Also I've seen a couple of different designs to the `DatePicker`, how do you change the design? Below is my code so far, tried using code from the other examples but couldn't get it working. ``` import android.app.Activity; import android.os.Bundle; import android.widget.EditText; import android.widget.TextView; /** * Created by MOS182 on 7/21/13. */ public class AddReminder extends Activity { TextView Title, Amount, PaymentDate, ReminderDate, ReminderTime; EditText eTitle, eAmount, ePaymentDate, eReminderDate, eReminderTime; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.reminders_dialog); initializeVariables(); } private void initializeVariables() { Title = (TextView) findViewById(R.id.tvTitle); Amount = (TextView) findViewById(R.id.tvAmount); PaymentDate = (TextView) findViewById(R.id.tvPaymentDate); ReminderDate = (TextView) findViewById(R.id.tvReminderDate); ReminderTime = (TextView) findViewById(R.id.tvReminderTime); eTitle = (EditText) findViewById(R.id.etTitle); eAmount = (EditText) findViewById(R.id.etAmount); ePaymentDate = (EditText) findViewById(R.id.etPaymentDate); eReminderDate = (EditText) findViewById(R.id.etReminderDate); eReminderTime = (EditText) findViewById(R.id.etReminderTime); } } ```

Original source