我正在实现etsy在github上为StaggeredGrid https://github.com/etsy/AndroidStaggeredGrid提供的库。我收到的错误是布局activity_svg.xml的InflationException
<com.etsy.android.grid.StaggeredGridView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:item_margin="8dp"
app:column_count="@integer/grid_column_count" />
android.view.InflationException二进制XML文件第3行错误,导致类com.etsy.android.grid.StaggeredGridView膨胀
根据与该问题有关的先前答案,我已经检查了构造函数:
public StaggeredGridView(final Context context) {
this(context, null);
}
public StaggeredGridView(final Context context, final AttributeSet attrs) {
this(context, attrs, 0);
}
public StaggeredGridView(final Context context, final AttributeSet attrs, final int defStyle) {
super(context, attrs, defStyle);
根据先前的答案,我还检查了文件是否位于该库中。
那么InflationException可能还有什么问题呢?为什么班级没有膨胀?
如果您希望我添加代码的更多部分,请发表评论。
最佳答案
如果您的应用程序中有自定义控件,则应使用布局XML中的完整包来指定它,如果仅使用“ yourcustomcontrol”,则会引发此错误。例如:
<yourcustomcontrol android:id="@+id/yourCustomControl1" /> will throw error.
<packageName.yourcustomcontrol android:id="@+id/yourCustomControl1" />
将工作。
有关自定义控件的更多信息,请参见android开发人员的主页here
最初回答here。