gpt4 book ai didi

Android 双向绑定(bind) Integer 类型导致数据绑定(bind)不存在

转载 作者:IT老高 更新时间:2023-10-28 22:12:22 25 4
gpt4 key购买 nike

我在使用 Integer 数据类型实现双向绑定(bind)时遇到了一些问题。

public class User {

private String firstName;
private String lastName;
private int age;

public User() {}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getFirstName() {
return this.firstName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getLastName() {
return this.lastName;
}

public void setAge(int age) {
this.age = age;
}

public int getAge() {
return this.age;
}

}

XML:

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

<data class="UserDataBinding">
<variable
name="user"
type="com.databinding.model.User" />
</data>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin">

<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@={user.firstName}" />

<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@={user.lastName}" />

<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@={user.age}" />

</LinearLayout>
</layout>

不幸的是,它给了我错误

"Error:(52, 17) Cannot find the getter for attribute 'android:text' with value type java.lang.Integer on android.support.design.widget.TextInputEditText. "

如果我将属性文本更改为

       <EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@={Integer.toString(user.age)}" />

然后我得到错误

"Error:cannot generate view binders java.lang.NullPointerException"

感谢您对此的任何帮助。

更新:似乎在上述错误之后还有另一个错误。

cannot generate view binders java.lang.NullPointerException

不知道为什么它给我 NPE,即使应用程序还没有启动。

最佳答案

好吧,六个月后,但也许我可以帮助某人。

你可以做这个简单的技巧:

android:text="@={`` + mObject.someNumber}"

OBS.:您至少需要 Android Studio 2.3

关于Android 双向绑定(bind) Integer 类型导致数据绑定(bind)不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38998222/

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