EditText editTextLeft = new EditText(this);
editTextLeft.setHint("Название проекта");
editTextLeft.setTextSize(12);
editTextLeft.setSingleLine();
editTextLeft.setImeOptions(EditorInfo.IME_ACTION_NEXT);
editTextLeft.setHintTextColor(Color.GRAY);
editTextLeft.setEnabled(false);
EditText editTextRight = new EditText(this);
editTextRight.setHint("Название обязанности");
editTextRight.setTextSize(12);
editTextRight.setSingleLine();
editTextRight.setImeOptions(EditorInfo.IME_ACTION_DONE);
editTextRight.setHintTextColor(Color.GRAY);
editTextRight.setEnabled(false);
Если присмотреться, то 2 объекта класса EditText почти одинаковые. Можно ли как-то создать копию 2 из 1, а после уже исправить значения.
То-бишь уменьшить код.
Сейчас это не критично, но в будущем, если мне придется писать для каждого View по 30 методов, то это будет ужасный код......
EditText edittextRight=editextLeft
не работает
Добавьте метод
EditText createEditText() {
EditText editText = new EditText(this);
editTextLeft.setHint("Название проекта");
editTextLeft.setTextSize(12);
editTextLeft.setSingleLine();
editTextLeft.setImeOptions(EditorInfo.IME_ACTION_NEXT);
editTextLeft.setHintTextColor(Color.GRAY);
editTextLeft.setEnabled(false);
return editText;
}
И потом им создайте нужные вам элементы.
EditText editTextLeft = createEditText();
EditText editTextRight = createEditText();
Рекомендую почитать о порождающих шаблонах проектирования.
Николай Конорев ответил правильно.
Если вам нужно изменить какой-то из параметров, измените его после вызова метода создания EditText
. Если этот параметр у всех разный, его стоит передавать параметром в метод createEditText()
.
В вашем случае можно передать меняющиеся параметры так:
EditText createEditText(String hint, int imeOptions) {
EditText editText = new EditText(this);
editText.setHint(hint);
editText.setTextSize(12);
editText.setSingleLine();
editText.setImeOptions(imeOptions);
editText.setHintTextColor(Color.GRAY);
editText.setEnabled(false);
return editText;
}
Затем использовать этот метод таким образом:
EditText editTextLeft = createEditText("Название проекта", EditorInfo.IME_ACTION_NEXT);
EditText editTextRight = createEditText("Название обязанности", EditorInfo.IME_ACTION_DONE);
После вызова этого метода, никто не мешает вам кастомизировать объект и дальше, например вы можете изменить параметры
editTextRight.setTextSize(17);
Или же установить новые
editTextRight.setText("");
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть значение атрибута href и мне надо найти весь тег с этим атрибутом на html;
В классе много методов, которые предполагают ввод данныхДля этого в каждом методе создаю объект: