gpt4 book ai didi

android - onClick 时获取其他 View 的值。数据绑定(bind)

转载 作者:行者123 更新时间:2023-11-29 15:03:27 26 4
gpt4 key购买 nike

我有带有 android 数据绑定(bind)的 xml:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<data>
<variable name="presenter" type="com.myapp.presentation.presenter.CreateUserPresenter"/>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<android.support.design.widget.TextInputLayout
android:id="@+id/firstNameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp"
android:paddingBottom="8dp">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:hint="@string/first_name" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/secondNameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp"
android:paddingBottom="8dp">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:hint="@string/second_name" />
</android.support.design.widget.TextInputLayout>
<android.support.v7.widget.AppCompatButton
android:id="@+id/btnCreate"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:text="@string/create"
android:onClick="@{(view) -> presenter.createUser()}" />
</LinearLayout>
</layout>

CreateUserPresenter.class:

public class CreateUserPresenter {

public CreateUserPresenter () {}

public void createUser(String firstName, String lastName) {

}
}

如何在单击按钮时在方法 createUser() 中传递输入值(firstNameInputsecondNameInput)?

android:onClick="@{(view) -> presenter.createUser()}"

最佳答案

在使用 DataBinding 时遵循 MVVM 是最佳实践,但是对于您的代码,您也可以传递字符串值。

试试这个

android:onClick="@{(view) -> presenter.createUser(firstNameInput.getEditText().getText().toString(),secondNameInput.getEditText().getText().toString())}"

关于android - onClick 时获取其他 View 的值。数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40995071/

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