【发布时间】:2016-10-18 11:45:47
【问题描述】:
在尝试将 @BindingConversion 用于 int 转换为字符串时遇到了一个神秘问题。
以下代码适用于字符串的浮点数:
xml:
...
<variable
name="myViewModel"
type="... .SomeModel" />
...
<TextView
style="@style/StyleStuff"
android:text="@{myViewModel.number}" />
代码:
public class SomeModel {
public ObservableFloat number = new ObservableFloat();
}
和设置:
viewModel.number.set(3.14f);
但如果我对 ints to strings 尝试相同的操作,我会崩溃。
public ObservableInt number = new ObservableInt();
与
viewModel.number.set(42);
我得到以下信息:
FATAL EXCEPTION: main
Process: ...myapplication, PID: 14311
android.content.res.Resources$NotFoundException: String resource ID #0xfa0
at android.content.res.Resources.getText(Resources.java:1123)
at android.support.v7.widget.ResourcesWrapper.getText(ResourcesWrapper.java:52)
at android.widget.TextView.setText(TextView.java:4816)
at ...executeBindings(ActivityAdaptersBinding.java:336)
at android.databinding.ViewDataBinding.executePendingBindings(ViewDataBinding.java:355)
有什么想法吗? 谢谢!
【问题讨论】:
标签: android data-binding android-databinding