【发布时间】:2018-09-30 16:57:06
【问题描述】:
我被这个问题困住了。一切都很好,但 DataBinding 代码生成器在编写代码时出错。我写错东西了吗?如果你们遇到和我一样的问题,并且成功解决了,请帮助我。这是我的问题:
我没有名为 View 的类,它只是一个包名。看看这个:
也许我的 xml 代码有问题,所以这里是:
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="activity"
type="galihlprakoso.com.surat_kaleng_app.View.LoginActivity"/>
</data>
<android.support.constraint.ConstraintLayout
android:background="@drawable/main_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="galihlprakoso.com.surat_kaleng_app.View.LoginActivity">
<ImageView
android:scaleType="centerCrop"
android:src="@drawable/main_background"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:text="Surat Kaleng"
android:textSize="40sp"
android:layout_marginBottom="20dp"
app:layout_constraintBottom_toTopOf="@id/act_login_main_logo"
android:textColor="@android:color/white"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:textAlignment="center"
android:fontFamily="@font/ptmono"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/act_login_main_logo"
android:src="@drawable/main_logo"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="200dp"
android:layout_height="200dp" />
<Button
android:onClick="@{()->activity.doLogin()}"
android:text="@string/login_dengan_google"
android:fontFamily="@font/ptmono"
android:textColor="@android:color/white"
android:background="@drawable/main_btn"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_margin="20dp"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<TextView
android:text="Menghubungkan orang terdekat secara misterius."
app:layout_constraintTop_toBottomOf="@id/act_login_main_logo"
android:textColor="@android:color/white"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:textAlignment="center"
android:fontFamily="@font/ptmono"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<ImageView
android:src="@drawable/login_top_menu"
android:layout_margin="20dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_width="50dp"
android:layout_height="50dp" />
</android.support.constraint.ConstraintLayout>
</layout>
这是错误:
/Users/galihlarasprakoso/Projects/Android/suratkalengapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/galihlprakoso/com/surat_kaleng_app/databinding/ActivityLoginBinding.java:12: error: cannot find symbol
import galihlprakoso.com.surat_kaleng_app.View;
^
symbol: class View
location: package galihlprakoso.com.surat_kaleng_app
/Users/galihlarasprakoso/Projects/Android/suratkalengapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/galihlprakoso/com/surat_kaleng_app/databinding/ActivityLoginBinding.java:19: error: package View does not exist
protected View.LoginActivity mActivity;
^
/Users/galihlarasprakoso/Projects/Android/suratkalengapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/galihlprakoso/com/surat_kaleng_app/databinding/ActivityLoginBinding.java:27: error: package View does not exist
public abstract void setActivity(@Nullable View.LoginActivity activity);
^
/Users/galihlarasprakoso/Projects/Android/suratkalengapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/galihlprakoso/com/surat_kaleng_app/databinding/ActivityLoginBinding.java:30: error: package View does not exist
public View.LoginActivity getActivity() {
^
4 errors
我该怎么办?
【问题讨论】:
-
您需要共享完整的 gradle 日志。您可以在重新构建之前设置像 --stacktrace 或 --debug 这样的命令
-
我认为这与您以大写字母开头的包名有关。您是否尝试将您的包从
View重命名为view? -
如果@DanailAlexiev 评论不起作用,也请尝试“使缓存无效并重新启动”选项
标签: android data-binding kotlin android-databinding