Как предоставить пользовательское имя для сгенерированного класса DataBinding? - PullRequest
0 голосов
/ 26 апреля 2020

tasks_frag. xml - это файл макета с привязкой данных, и я надеюсь импортировать сгенерированный класс в TasksFragment.kt , вы можете увидеть изображение A.

Я знаю, что Android генерирует имя класса TasksFragBinding на основе tasks_frag по правилу автоматически, но правило трудно запомнить.

Существует ли простой способ импортировать сгенерированный класс DataBinding в Android Studio?

tasks_frag. xml

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
    </data>
    ...

</layout>

TasksFragment.kt

import com.example.android.architecture.blueprints.todoapp.databinding.TasksFragBinding
class TasksFragment : Fragment() {
  ...
}

Изображение A enter image description here

1 Ответ

3 голосов
/ 26 апреля 2020

Если по каким-либо причинам вы разочарованы именем сгенерированного класса привязки, вы можете называть их по своему усмотрению.

Согласно документам,

Binding классы могут быть переименованы или помещены в разные пакеты путем изменения атрибута class элемента данных.

Просто укажите желаемое имя класса в теге <data class="SomeClass">.

В вашем case,

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data class="MyClassName">
    </data>
    ...

</layout>

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

...