2017-01-13 3 views
0

Я пытаюсь установить editText с DatePickerDialog внутри .setOnClickListener. где, когда пользователь нажимает на EditText в DatePickerDialog появится, а затем после того, как пользователь выбирает желаемую дату будет установить его на EditText ... что-то вроде этого: Android:DatePickerDialog on EditText Click EventLayoutInflater с диалогом DatePicker

и вот мой код mycode

Любые идеи, как это сделать?

я попробовал пример выше и многое другое, но ничего не кажется, работает внутри .SetOnClickListener

ответ

0

Используйте этот код:

public class MainActivity extends AppCompatActivity { 
EditText text; 
private int year,currentYear; 
private int month,currentMonth; 
private int day,currentDay; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    text = (EditText)findViewById(R.id.edit); 

    // Get current date by calender 

    final Calendar c = Calendar.getInstance(); 
    year = c.get(Calendar.YEAR); 
    month = c.get(Calendar.MONTH); 
    day = c.get(Calendar.DAY_OF_MONTH); 

    text.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { 
       @Override 
       public void onDateSet(DatePicker datePicker, int mYear, int mMonth, int mDay) { 
        currentDay = mDay; 
        currentMonth = mMonth+1; 
        currentYear = mYear; 
        text.setText(mDay+"-"+(mMonth+1)+"-"+mYear); 
       } 
      },year,month,day).show(); 
     } 
    }); 
} 

}

Я должен сохранить выбранный пользователем год, месяц , день в текущем году, currentMonth, currentDay соответственно.

+0

будет ли это работать внутри .setOnClickListener? форма, которую вызовы .setOnClickListener находятся в другом макете, чем этот. – noel293

+0

просто используйте DatePickerDialog, показывающий код в ** setOnClickListener() ** метод EditText. Он будет работать, я его протестировал. –

+0

как это сделать? все, что я накладываю извне, подчеркивает их красный – noel293

Смежные вопросы