XML 布局未出现在 R.layout 中
XML layout doesn't appear in R.layout
我正在使用 androidX CardView。
为了为卡片制作 recyclerview 适配器,我需要膨胀我制作的自定义卡片布局。
不幸的是,自定义卡片视图的 xml 没有出现在 R.layout.(xml_name) 中,而我通常可以找到所有其他布局。
这是我需要充气的适配器 class 内的代码:
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
LayoutInflater mInflater = LayoutInflater.from(mContext);
view = mInflater.inflate(R.layout.cardview_item_answer); // not finding this layout
return null;
}
这是卡片布局xml (cardview_item_answer.xml) :
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="160dp"
android:layout_height="160dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_margin="5dp"
app:cardCornerRadius="4dp"
>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image_card"
android:layout_width="match_parent"
android:layout_height="100dp"
android:scaleType="centerCrop"
android:background="#2d2d2d2d">
</androidx.appcompat.widget.AppCompatImageView>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_card"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="test"
android:textSize="13sp"
android:textColor="@color/black"
android:layout_gravity="center"
></androidx.appcompat.widget.AppCompatTextView>
</androidx.appcompat.widget.LinearLayoutCompat>
你有什么建议吗?
非常感谢!
已解决!
如果您遇到此问题 -> 清理项目并使 Caches/Restart.
无效
如果 XML 包含任何错误,您的构建可能会失败 - 这将导致 R.layout 产生意外结果。我在 cardview_item_answer.xml
中没有看到 CardView 的结束标记
尝试在 cardview_item_answer.xml
末尾添加结束标记 </androidx.cardview.widget.CardView>
由于某些原因,上述两种解决方案都不适合我。
我只需要使用布局的完整路径就可以使用它。在我的例子中,旋转器的项目
所以我这样做了:
import com.myProject.R.layout.spinner_item
它从来都不是建议的自动完成,至少在我的情况下,在模型视图中。它在碎片中。无法理解,但它也适用于视图模型。
我正在使用 androidX CardView。 为了为卡片制作 recyclerview 适配器,我需要膨胀我制作的自定义卡片布局。 不幸的是,自定义卡片视图的 xml 没有出现在 R.layout.(xml_name) 中,而我通常可以找到所有其他布局。
这是我需要充气的适配器 class 内的代码:
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
LayoutInflater mInflater = LayoutInflater.from(mContext);
view = mInflater.inflate(R.layout.cardview_item_answer); // not finding this layout
return null;
}
这是卡片布局xml (cardview_item_answer.xml) :
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="160dp"
android:layout_height="160dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_margin="5dp"
app:cardCornerRadius="4dp"
>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image_card"
android:layout_width="match_parent"
android:layout_height="100dp"
android:scaleType="centerCrop"
android:background="#2d2d2d2d">
</androidx.appcompat.widget.AppCompatImageView>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_card"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="test"
android:textSize="13sp"
android:textColor="@color/black"
android:layout_gravity="center"
></androidx.appcompat.widget.AppCompatTextView>
</androidx.appcompat.widget.LinearLayoutCompat>
你有什么建议吗?
非常感谢!
已解决! 如果您遇到此问题 -> 清理项目并使 Caches/Restart.
无效如果 XML 包含任何错误,您的构建可能会失败 - 这将导致 R.layout 产生意外结果。我在 cardview_item_answer.xml
中没有看到 CardView 的结束标记尝试在 cardview_item_answer.xml
末尾添加结束标记</androidx.cardview.widget.CardView>
由于某些原因,上述两种解决方案都不适合我。
我只需要使用布局的完整路径就可以使用它。在我的例子中,旋转器的项目
所以我这样做了:
import com.myProject.R.layout.spinner_item
它从来都不是建议的自动完成,至少在我的情况下,在模型视图中。它在碎片中。无法理解,但它也适用于视图模型。