gpt4 book ai didi

android - 如何使用 xml 中的 View 引用将参数传递给使用数据绑定(bind)的函数?

转载 作者:行者123 更新时间:2023-12-02 13:44:02 24 4
gpt4 key购买 nike

我正在使用数据绑定(bind)来调用我的 View 模型的函数,但该函数需要编辑文本的值。但我不知道如何传递其他 View 的值。

这是xml代码。在此,我想通过单击按钮将密码 edittext 的值传递给 viewmodel。
建议我一种方法来执行此操作,而不是在 fragment 中使用 onclickListeners 并从那里调用该函数。

 <com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/small_margin"
android:hint="@string/password_hint">

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" />

</com.google.android.material.textfield.TextInputLayout>

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/big_action_button_red"
android:text="@string/login_button_text"
android:onClick="@{()->viewModel.validateUser(password_input.text)}"/>

最佳答案

使用Two-way data binding使用密码 TextView , 这样您就可以在 LiveData 中获得该字段的当前值在您的 ViewModel .
然后只需在您的 ViewModel 中获取该值当validate()叫做。

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@={viewmodel.passowrd}"
android:inputType="textPassword" />

关于android - 如何使用 xml 中的 View 引用将参数传递给使用数据绑定(bind)的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60734858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com