Java Textview中未计算数据绑定的Android条件字符串
我现在浏览了网页,却没有找到解决我这个问题的办法 我的问题是我有一个Java Textview中未计算数据绑定的Android条件字符串,java,android,android-layout,android-databinding,Java,Android,Android Layout,Android Databinding,我现在浏览了网页,却没有找到解决我这个问题的办法 我的问题是我有一个TextView,其中我想使用android:text属性显示文本。此文本应以有条件的方式从@string中获取,具体取决于运行的FLAVOR 我已将xml布局文件包装在标记中,并在这些标记中导入了一些类: <data> <import type="esy.es.matmatt.pidroCounter.BuildConfig"/> <import type="android.vi
TextView
,其中我想使用android:text
属性显示文本。此文本应以有条件的方式从@string
中获取,具体取决于运行的FLAVOR
我已将xml布局文件包装在
标记中,并在这些标记中导入了一些类:
<data>
<import type="esy.es.matmatt.pidroCounter.BuildConfig"/>
<import type="android.view.View"/>
</data>
我不能简单地找到错误。我使用的import和conditional语法在adviews的可见性上似乎工作得很好,但在TextViews上却完全不工作?我不知道我做错了什么。有什么想法吗?谢谢
编辑:
实际上,我现在意识到这些条件在adviews(XML)中也不起作用。我认为这是因为我也以编程方式有条件地加载
MobileAds
。我认为您编写的绑定表达式中存在问题,因为使用了String.valueOf
。
应该是
android:text="@{BuildConfig.FLAVOR.equals(`free`) ? @string/about_text : @string/about_textPro}"
如果这不起作用,请打开数据绑定生成的BindingImpl.java
(例如:YourLayoutNameBindingImpl.java
)类。搜索您的视图Id(textViewFree
),并将生成的代码发布到此处
M:\Git Repositories\PidroCounter\app\build\generated\ap_generated_sources\freeDebug\out\esy\es\matmatt\pidroCounter\DataBinderMapperImpl.java:10: error: cannot find symbol import esy.es.matmatt.pidroCounter.databinding.FragmentAboutBindingImpl;
^
android:text="@{BuildConfig.FLAVOR.equals(`free`) ? @string/about_text : @string/about_textPro}"