Я теперь очистил сеть, не найдя решения для моей проблемы.
Моя проблема в том, что у меня есть TextView
, и в нем я хотел бы отображать текст, используя атрибут android:text
, Этот текст должен быть извлечен из @string
условно в зависимости от того, что работает FLAVOR
.
Я завернул файл макета xml в теги <layout></layout>
и только внутри этих тегов, которые я импортировал некоторые классы:
<data>
<import type="esy.es.matmatt.pidroCounter.BuildConfig"/>
<import type="android.view.View"/>
</data>
Для условного отображения различного текста в Textview в зависимости от FLAVOR у меня есть следующее 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 .. Он не отображает ни одного ...
Я прочитал в этом сообщении, что у меня должен быть знак = после @ , но когда я добавил, что вместо этого я получил ошибку компиляции:
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;
^
Я просто не могу найти ошибку. Импортируемый и условный синтаксис, который я использую, кажется, хорошо работает с видимостью объявлений, но не с TextViews. Я понятия не имею, что я делаю неправильно. Любые идеи? Спасибо!
РЕДАКТИРОВАТЬ: На самом деле я теперь понял, что условия не работают в объявлениях (XML). Я думал, что причина в том, что я тоже загружаю MobileAds
программно ...