我正在使用android数据绑定,每当我不使用include标签时它都能正常工作。
如果我使用 标记包含视图(即使它在应用程序上显示),但数据绑定对象无法识别所包含布局的视图。这些是我的布局文件。
internet_unavailable.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/internet_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:gravity="center_horizontal"
android:text="@string/msg_internet_unavailable"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/colorSecondaryText" />
<Button
android:id="@+id/internet_button_retry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/internet_margin_top"
android:backgroundTint="@color/colorAccent"
android:paddingEnd="@dimen/internet_padding_h"
android:paddingStart="@dimen/internet_padding_h"
android:text="@string/str_retry"
android:textColor="@android:color/white" />
</LinearLayout>
</layout>
fragment.xml之
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ncimsl.fragments.ProgressNotesFragment">
<include
android:id="@+id/progress_notes_internet"
layout="@layout/internet_unavailable" />
<ProgressBar
android:id="@+id/progress_notes_progressbar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/progress_notes_swiperefreshlayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/progress_notes_recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
</FrameLayout>
</layout>
正如您所见,progressBar,swipeRefreshLayout和recyclerView正在显示建议,但包含的布局和其中的视图除外。
有什么想法解决这个问题吗?
答案 0 :(得分:0)
执行重建为我解决了这个问题。
以下是重建后我的AndroidStudio的截图:
我的build.gradle:
android{
...
dataBinding {
enabled = true
}
}
我的gradle.properties:
android.databinding.enableV2=true
答案 1 :(得分:0)
答案 2 :(得分:0)
想将我的经验分享给那些仍然在挣扎的人...我遇到了同样的问题,直到在应用的 build.gradle 中打开 viewBinding(除了 dataBinding)才解决。 (Android Studio 4.2
buildFeatures {
dataBinding = true
viewBinding = true
}