gpt4 book ai didi

java - Android Textview 中的条件字符串与未评估数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 18:08:29 26 4
gpt4 key购买 nike

我现在已经在网上搜寻过了,但没有找到解决我的这个问题的方法。

我的问题是我有一个 TextView ,我想在其中使用 android:text 属性显示文本。应根据运行的 @string 以有条件的方式从 FLAVOR 中获取此文本。

我已将 xml 布局文件包装在 <layout></layout> 标记中,并在这些标记内导入了一些类:

 <data>
<import type="esy.es.matmatt.pidroCounter.BuildConfig"/>
<import type="android.view.View"/>
</data>

为了根据 FLAVOR 有条件地在 Textview 中显示不同的文本,我有以下 TextView:

<TextView
android:text="@{String.valueOf(BuildConfig.FLAVOR.equals(`free`) ? @string/about_text : @string/about_textPro)}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textViewFree"
android:layout_below="@+id/aboutTitle"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textAlignment="center"
android:autoLink="email"
android:textColorLink="@color/textn"/>

我不知道为什么这只是输出一个空白的 TextView...它不显示任何一个...

我在 this 帖子中读到,在 @ 后面应该有一个 = 符号,但是当我添加它时,我只是收到了编译错误:

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;
^

我无法简单地找到错误。我使用的导入和条件语法似乎在广告 View 的可见性方面工作得很好,但在 TextView 上根本不起作用?我不知道我做错了什么。有任何想法吗?谢谢!

编辑:实际上,我现在意识到这些条件在广告 View (XML)中也不起作用。我认为这是因为我也有条件地以编程方式加载 MobileAds...

最佳答案

我认为您的问题存在于由于使用String.valueOf而编写的绑定(bind)表达式中。应该是

android:text="@{BuildConfig.FLAVOR.equals(`free`) ? @string/about_text : @string/about_textPro}"

如果这不起作用,请打开数据绑定(bind)生成的 BindingImpl.java (例如:YourLayoutNameBindingImpl.java)类。搜索您的 View ID (textViewFree) 并在此处发布生成的代码。

关于java - Android Textview 中的条件字符串与未评估数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60511478/

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