如何为生成的 DataBinding Class 提供自定义名称?
How to provide Custom name for generated DataBinding Class?
tasks_frag.xml是一个带有DataBinding的布局文件,希望将生成的class导入TasksFragment.kt,可以看到图A.
我知道 Android 生成 class 名称 TasksFragBinding 基于 tasks_frag自动规则,但规则很难记住。
有没有一种简单的方法可以在 Android Studio 中导入生成的 DataBinding class?
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
如果出于某些原因您对生成的绑定的名称感到失望 class,您可以随意命名它们。
根据文档,
Binding classes may be renamed or placed in different packages by
adjusting the class attribute of the data element.
只需在 <data class="SomeClass">
标签中提供您想要的 class 名称即可。
在你的情况下,
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data class="MyClassName">
</data>
...
</layout>
然后您放心,生成的绑定 class 将被命名为 MyClassName
,您可以轻松导入。
tasks_frag.xml是一个带有DataBinding的布局文件,希望将生成的class导入TasksFragment.kt,可以看到图A.
我知道 Android 生成 class 名称 TasksFragBinding 基于 tasks_frag自动规则,但规则很难记住。
有没有一种简单的方法可以在 Android Studio 中导入生成的 DataBinding class?
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
如果出于某些原因您对生成的绑定的名称感到失望 class,您可以随意命名它们。
根据文档,
Binding classes may be renamed or placed in different packages by adjusting the class attribute of the data element.
只需在 <data class="SomeClass">
标签中提供您想要的 class 名称即可。
在你的情况下,
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data class="MyClassName">
</data>
...
</layout>
然后您放心,生成的绑定 class 将被命名为 MyClassName
,您可以轻松导入。