Android При связывании данных создаются файлы, которые не имеют кодировки UTF-8 - PullRequest
0 голосов
/ 05 марта 2020

Я использую утилиту привязки данных. Всякий раз, когда я использую «_i» в файле xml, соответствующий ему символ в классе привязки является «\ ufffd», что в кодировке windows -1254 является заглавной буквой i («İ»). Это правильная прописная буква в алфавите Turki sh, но я не хочу использовать локальную заглавную букву, потому что она выдает следующую ошибку:

error: illegal character: '\ufffd'

Я рассмотрел вопросы, связанные с недопустимой ошибкой символа, и большинство им предложили удалить нелегальный символ и переписать его. Однако в моем случае я не могу изменить файл, или нет смысла менять его, потому что он заново создается во время перестройки.

row_program_item. xml

<LinearLayout
    android:id="@+id/program_item_linear"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    ...
</LinearLayout>

RowProgramItemBinding. java

...
@NonNull
public final LinearLayout program�temLinear;

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Как сказал @Joachim Sauer, это ошибка. На данный момент решение состоит в том, чтобы изменить язык javac, чтобы избежать локализации. В моем случае это помогло добавить следующие строки в gradle.properties.

org.gradle.jvmargs=-Duser.country=TR -Duser.language=en
kotlin.compiler.execution.strategy=in-process
kotlin.daemon.jvm.options=-Duser.country=TR -Duser.language=en
0 голосов
/ 05 марта 2020

Я предлагаю использовать чехол camelBack при написании идентификаторов ваших просмотров.
Если вы посмотрите на один из ответов здесь .

Если вы посмотрите на поля android .R.id. *, Вы заметите, что все они в верблюжьем футляре. Так что, если android идентификаторы написаны в верблюжьем футляре, я думаю, мы должны следовать этому соглашению:)

И поэтому вы легко избежите этой ошибки.

PS I также используйте camelCase для именования моих переменных. Для файлов в папке / Res я использую snake_case. Кроме того, я уже использую camelCase

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...