Android Studio: создание двусторонней привязки для пользовательских элементовAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android Studio: создание двусторонней привязки для пользовательских элементов

Сообщение Anonymous »

Я хочу создать пользовательский элемент, содержащий представление изображения и текст редактирования.
Код выглядит следующим образом: И реализация представления:

Код: Выделить всё

public class EditTextWithIcon extends LinearLayout {
private EditText editText;
private ImageView imageView;

public EditTextWithIcon(Context context, AttributeSet attrs) {
super(context, attrs);

TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.EditTextWithIcon, 0, 0);
String hint = a.getString(R.styleable.EditTextWithIcon_custom_hint);
boolean focusable = a.getBoolean(R.styleable.EditTextWithIcon_focusable, true);

int iconSrc = a.getResourceId(R.styleable.EditTextWithIcon_icon_src, -1);
a.recycle();

LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.edit_text_with_icon, this, true);

editText = findViewById(R.id.editTextWithIconEditText);
imageView = findViewById(R.id.editTextWithIconImage);

editText.setHint(hint);
editText.setFocusable(focusable);
imageView.setImageResource(iconSrc);

}

public void setText(String text){
editText.setText(text);
}

public String getText(){
return editText.getText().toString();
}
}
Атрибут, который я создал, выглядит следующим образом: Все работает так, как ожидалось, за исключением двусторонней привязки свойства text.
Когда я пытаюсь получить к нему доступ из своего представления, например app:test="@={viewModel.title }" Я получаю следующую ошибку:
****msg: Невозможно найти метод получения для атрибута 'app:test' с типом значения java.lang.String
Знаете ли вы, почему метод получения не распознается, а метод установки распознается?
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/786 ... m-elements
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»