Есть ли способ записать эти два метода в один метод. Я хочу написать этот метод только один раз. Когда я вызываю этот метод, он принимает другую переменную EditText. edittext_one и edittext_two - это идентификатор переменной edittext.
Я хочу вызвать вне одного и того же единственного метода как для edittext, так и для нескольких. Вызывается тот же метод, но с другой переменной.
Я использую android studio с Java Language.
ИЗМЕНИТЬ ТЕКСТ Один МЕТОД ВНУТРИ onCreate
edittext_one.setInputType(InputType.TYPE_NULL); //keyboard disappear
edittext_one.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
showDateDailogForms(edittext_one);
}
}
});
ИЗМЕНИТЬ ТЕКСТ Два МЕТОДА ВНУТРИ onCreate
edittext_two.setInputType(InputType.TYPE_NULL); //keyboard disappear
edittext_two.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
showDateDailogForm(edittext_two);
}
}
});
ИЗМЕНИТЬ ТЕКСТ ОДИН МЕТОД ВНЕ onCreate
private void showDateDailogForm(final EditText edittext_one) {
//final
Calendar calendar = Calendar.getInstance();
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
edittext_one.setText(simpleDateFormat.format(calendar.getTime()));
}
};
new DatePickerDialog(MainActivity.this, dateSetListener, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
}
ИЗМЕНИТЬ ТЕКСТ ДВА МЕТОДА ВНЕ onCreate
private void showDateDailogForms(final EditText edittext_two) {
Calendar calendar = Calendar.getInstance();
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
edittext_two.setText(simpleDateFormat.format(calendar.getTime()));
}
};
new DatePickerDialog(MainActivity.this, dateSetListener, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
}