Я пытаюсь изменить свое приложение для использования MVVM.Прямо сейчас я пытаюсь создать простую страницу «сброса пароля», для которой я пытаюсь получить значение текстового поля: поля адреса электронной почты.К сожалению, мое поле электронной почты по-прежнему выходит пустым.Модель представления работает так, как я могу правильно обращаться к onResetPassword.
Любая помощь будет оценена.
ForgotPasswordViewModel.java
public class ForgotPasswordViewModel extends ViewModel {
public final ObservableField<String> email = new ObservableField<>();
public void onResetPassword() {
Log.i("PASSWORD", "xxx -> " + email.get());
}
}
activity_forgot_password.xml
<data>
<variable
name="viewModel"
type="com.example.foo.viewModels.ForgotPasswordViewModel" />
</data>
<RelativeLayout
android:id="@+id/loginLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.LoginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="15dp">
<EditText
android:inputType="textEmailAddress|textNoSuggestions"
android:text="@{viewModel.email}"
android:hint="@string/email" />
<Button
android:text="Login"
android:onClick="@{(v) -> viewModel.onResetPassword()}" />
</LinearLayout>
</RelativeLayout>
</layout>