如何重现android.view.lnflateException

如何重现android.view.lnflateException,android,xml,runtimeexception,inflate-exception,Android,Xml,Runtimeexception,Inflate Exception,如何在将布局XML文件实例化为相应的视图对象时自然地调用android.view.InflateException?禁止删除带有AttributeSet参数和抛出的构造函数 使用一组典型的施工人员: public TestView(Context context) { this(context, null); } public TestView(Context context, AttributeSet attrs) { this(context, attrs, com.and

如何在将布局XML文件实例化为相应的视图对象时自然地调用android.view.InflateException?禁止删除带有AttributeSet参数和抛出的构造函数

使用一组典型的施工人员:

public TestView(Context context) {
    this(context, null);
}

public TestView(Context context, AttributeSet attrs) {
    this(context, attrs, com.android.internal.R.attr.gridViewStyle);
}

public TestView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);

    TypedArray a = context.obtainStyledAttributes(attrs,
            com.android.internal.R.styleable.GridView, defStyle, 0);

    int hSpacing = a.getDimensionPixelOffset(
            com.android.internal.R.styleable.GridView_horizontalSpacing, 0);
    setHorizontalSpacing(hSpacing);

    int vSpacing = a.getDimensionPixelOffset(
            com.android.internal.R.styleable.GridView_verticalSpacing, 0);
    setVerticalSpacing(vSpacing); 

    int index = a.getInt(com.android.internal.R.styleable.GridView_stretchMode, STRETCH_COLUMN_WIDTH);
    if (index >= 0) {
        setStretchMode(index);
    }

    int columnWidth = a.getDimensionPixelOffset(com.android.internal.R.styleable.GridView_columnWidth, -1);
    if (columnWidth > 0) {
        setColumnWidth(columnWidth);
    }

    int numColumns = a.getInt(com.android.internal.R.styleable.GridView_numColumns, 1);
    setNumColumns(numColumns);

    index = a.getInt(com.android.internal.R.styleable.GridView_gravity, -1);
    if (index >= 0) {
        setGravity(index);
    }

    a.recycle();
}

由于继承自RuntimeException,您可以自由抛出它

我不确定您想要实现什么,特别是考虑到这些限制。但是,从
视图
构造函数中出现的任何
异常
都可以,请参见,其目的是确定
TestView
的膨胀错误的来源,该错误扩展了
AbsListView
,同时将视图实例从类更改为
GridView
,关闭该问题,运行时变得安全。