Android 如何在数据绑定中将字符串作为参数传递给方法
我正在使用数据绑定。我必须调用ViewModel方法并单击Submit按钮。该方法有一个字符串参数。我正在从EditText访问值 这是我在ViewModel中的方法Android 如何在数据绑定中将字符串作为参数传递给方法,android,mvvm,android-databinding,Android,Mvvm,Android Databinding,我正在使用数据绑定。我必须调用ViewModel方法并单击Submit按钮。该方法有一个字符串参数。我正在从EditText访问值 这是我在ViewModel中的方法 public void submit(String password){ // Method definition } 这是我的布局文件 <EditText android:id="@+id/password" android:hint="Password&quo
public void submit(String password){
// Method definition
}
这是我的布局文件
<EditText
android:id="@+id/password"
android:hint="Password"
/>
<Button
android:id="@+id/submitButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="@={() -> viewModel.submit(password.text.toString())}"
/>
我得到了这个错误
错误:找不到符号
导入com.rohitksingh.lockbox.databinding.FragmentLoginBindingImpl;
^
符号:类FragmentLoginBindingImpl
我该如何解决这个问题?当我在方法中传递一个整数值时,它工作正常。您无法访问lambda中的其他视图。onClick lambda(来自onClickListener)仅接收调用onClick的视图,即当前按钮 或者,可以对EditText使用双向绑定,将其值存储在视图模型中,并在按下按钮时访问它
<EditText
android:id="@+id/password"
android:hint="Password"
android:text="@={viewmodel.password}"
/>
这正是我作为替代解决方案所做的。但我不确定是否有办法在lambda做到这一点。非常感谢。