Я учусь, как разрабатывать, используя MVVM. Я создал небольшой пример, как показано ниже в коде.
Мой вопрос, как я могу иметь ссылку на весь компонент пользовательского интерфейса, такой как EditText, Button в классе ViewModel? причина, по которой я пытаюсь это сделать, заключается в том, что я хочу изменить подсказку, добавленную в EditText
программно, и для этого мне нужно вызвать метод sethint для ссылки на компонент пользовательского интерфейса EditText.
Ранее я задавал вопрос о том, как привязать андроид: подсказку к обратному вызову в классе ViewModel, чтобы при инициализации EditText значение андроида: подсказка было получено из обратного вызова.
в ViewModel.
Но теперь вопрос в другом, я хочу получить доступ к ссылке на EditText, чтобы я мог вызвать call .sethint программно
XML
android:id="@+id/actMain_LoginViewModel1_et_userId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@{LoginViewModel1.onHintChanged()}"
android:afterTextChanged="@{(editable)->LoginViewModel1.onAfterUserIdChanged(editable)}"
ViewModel
public class LoginViewModel1 extends BaseObservable {
private final static String TAG = LoginViewModel1.class.getSimpleName();
public String onHintChanged(CharSequence chars) {
Log.d(TAG, "onHintChanged chars: " + chars);
return "HINT....";
}
}