fin*_*usl 2 android kotlin android-databinding androidx
请有人帮我!我快疯了,这应该工作。尝试构建Android项目时,出现以下错误消息:
Android resource linking failed
/Users/slehrbaum/StudioProjects/OneNightComps/Android/app/build/intermediates/incremental/mergeDebugResources/stripped.dir/layout/fragment_login.xml:17: error: attribute errorText (aka lehrbaum.de.onenightcomps:errorText) not found.
error: failed linking file resources.
Run Code Online (Sandbox Code Playgroud)
错误消息确实提到了errorText属性。我以这种方式在xml中使用errorText属性(此处为完整xml):
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/usernameField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/username"
app:hintEnabled="true"
app:errorEnabled="true"
app:errorText="Hi"
>
<!--app:errorText="Please provide a username."-->
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autofillHints="username"
android:inputType="text"
android:text="@={viewModel.username}"
/>
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
这是我在Kotlin文件(此处为完整文件)中定义errorText的方式:
object ViewDataBindingExtensions {
@JvmStatic
@BindingAdapter("errorText")
fun bindErrorText(textInputLayout: TextInputLayout, errorText: String) {
textInputLayout.error = errorText
}
}
Run Code Online (Sandbox Code Playgroud)
我只是不明白为什么会这样。我可以在布局文件中输入某种类型的导入信息,以说明BindingAdapter的位置吗?我的Gradle文件有问题吗?在这个问题上,我将它与GitHub项目进行了比较, 这个问题显然已经解决了,我看不出我的项目有什么区别。根据答案,我应该将Kotlin-kapt插件添加到我的Gradle构建中。我还浏览了项目的其余部分并进行了比较。无济于事。您可以在这里找到我的整个build.gradle文件以及该项目的其余部分。
请帮我!
Ant*_*vin 10
问题与将String值传递给的方式有关app:errorText。
使用@ {``}传递此值。
fragment_login.xml的固定部分:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/username"
app:hintEnabled="true"
app:errorText="@{`Please provide a username.`}"
app:errorEnabled="@{!viewModel.usernameValid}">
Run Code Online (Sandbox Code Playgroud)
有apply plugin: 'kotlin-kapt'中app/build.gradle是强制性的。
| 归档时间: |
|
| 查看次数: |
908 次 |
| 最近记录: |