Android属于自定义视图基本构造函数

时间:2018-12-17 13:13:20

标签: java android android-studio android-layout

这是我尝试创建自定义视图时的代码。我知道它应该定义3个基本构造函数来覆盖。我不明白,如果我添加JSONObject,为什么它会落在声明自定义视图构造函数上。我仍然在super中重写所有需要的构造函数。如果我从所有3个构造函数中删除JSONObject并将其保留为默认形式,则效果很好。

有什么问题吗?

public abstract class _ASListItem extends ConstraintLayout implements IControl, IASListItem
{
    private JSONObject jsonObject = new JSONObject();

    public void onSetJSONObject(JSONObject jsonObject)
    {
        this.jsonObject = jsonObject;
    }

    public JSONObject onGetJSONObject() { return this.jsonObject; }


    public _ASListItem(JSONObject jsonObject, Context context)
    {
        super(context);
        this.onSetJSONObject(jsonObject);
    }
    public _ASListItem(JSONObject jsonObject, Context context, AttributeSet attrs)
    {
        super(context,attrs);
        this.onSetJSONObject(jsonObject);
    }

    public _ASListItem(JSONObject jsonObject, Context context, AttributeSet attrs, int defStyle)
    {
        super(context,attrs,defStyle);
        this.onSetJSONObject(jsonObject);
    }

    @Override
    protected void onAttachedToWindow()
    {
        super.onAttachedToWindow();
        this.onSetLayoutView(this);

        this.onInitInstance(this);
        this.onHandleInstance(this);
        this.onUpdateInstance(this);
    }
}

这是我从Java解释器中得到的错误

  

java.lang.RuntimeException:无法启动活动ComponentInfo {mobile.application / mobile.application.activity.activityUserInfo}:android.view.InflateException:二进制XML文件行#34:二进制XML文件行#34:错误膨胀class mobile.application.custom.customHeadUserInfo

0 个答案:

没有答案