我正在给R.id.itemView充气,以便将它添加到gridLayout:
View item = getLayoutInflater().inflate(R.id.itemView,null);
但是,在充气时我收到此错误:
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f040015 type #0x12 is not valid
该资源编号对应于itemView(我在R.java上查看过)。 这是itemView所在的文件(res / layout中的color_view.xml):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res/com.example.colors"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal">
<View
android:id="@+id/itemView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="5dp"
android:background="@drawable/color_shape" />
</RelativeLayout>
我尝试清理,构建和删除R.java,但它没有解决问题。这个问题的原因是什么?
答案 0 :(得分:1)
您无法为inflate
的第一个参数提供ID,该参数只能是布局。你只能给这样的布局充气:
View item = getLayoutInflater().inflate(R.layout.color_view,null);
答案 1 :(得分:0)
这样做
LayoutInflater inflater = getLayoutInflater();
View layout= inflater.inflate(R.layout.color_view, null);
View viewtoadd = layout.findViewById(R.id.itemView);
你完成了使用viewtoadd;欢呼声