Конструктор, вызываемый во время надувания из xml, такой:
public GroupViewTwo4FirstActivity(Context context, AttributeSet attrs) {
this(context, attrs, 0);
init(context);
}
this(context,attrs,0)
вызывает ваш третий конструктор, который через некоторое время вызывает init(context)
, а затем вы снова вызываете init(context)
, так что выты делаешь это дважды.
Определение ваших конструкторов, как показано ниже, гарантирует, что ваш init
метод вызывается ровно один раз каждый раз.
public GroupViewTwo4FirstActivity(Context context) {
this(context, null);
}
public GroupViewTwo4FirstActivity(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public GroupViewTwo4FirstActivity(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.GroupViewTwo4FirstActivity, defStyleAttr, 0);
txtNo = ta.getString(R.styleable.GroupViewTwo4FirstActivity_hallNo);
complexName = ta.getString(R.styleable.GroupViewTwo4FirstActivity_complex_name);
ta.recycle();
init(context);
}
Надеюсь, это поможет!