gpt4 book ai didi

android - ObservableInt 导致数据绑定(bind)库崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:20:10 24 4
gpt4 key购买 nike

我正在使用新的数据绑定(bind)库并尝试实现可观察接口(interface)。但无论我是否将 age 变量设置为 textview,它都会崩溃。如果我将年龄变量转换为字符串,代码工作正常。有什么办法可以让它与 int 一起使用吗?

public class User extends BaseObservable {

@Bindable
public final ObservableField<String> name =
new ObservableField<>();
@Bindable
public final ObservableInt age = new ObservableInt();}

崩溃日志:

android.content.res.Resources$NotFoundException: String resource ID #0x3
at android.content.res.Resources.getText(Resources.java:274)
at android.widget.TextView.setText(TextView.java:4122)
at com.hipo.databinding.databinding.ActivityMainBinding.executeBindings(ActivityMainBinding.java:184)
at android.databinding.ViewDataBinding.executePendingBindings(ViewDataBinding.java:321)
at android.databinding.ViewDataBinding$6.run(ViewDataBinding.java:160)
at android.databinding.ViewDataBinding$5.onViewAttachedToWindow(ViewDataBinding.java:130)
at android.view.View.dispatchAttachedToWindow(View.java:13417)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2707)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1292)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)public class User extends BaseObservable {

@Bindable
public final ObservableField<String> name =
new ObservableField<>();
@Bindable
public final ObservableInt age = new ObservableInt();

最佳答案

把这个放在数据标签里

您需要在 TextView 中使用 @{String.valueOf(user.age)}。

或@{""+user.age}

关于android - ObservableInt 导致数据绑定(bind)库崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30710093/

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