自定义控件之组合控件

1.

public class ConsultationItemLayout extends LinearLayout {

    private TextView consultationKey;
    private TextView consultationValue;
    private String cKeyText;
    private String cValueText;

    public ConsultationItemLayout(Context context) {
        super(context);
        initTypedArray(context, null);
        initView(context);
    }

    public ConsultationItemLayout(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        initTypedArray(context, attrs);
        initView(context);
    }

    public ConsultationItemLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initTypedArray(context, attrs);
        initView(context);
    }

    private void initTypedArray(Context context, AttributeSet attrs) {
        TypedArray mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.ConsultationItem);

        cKeyText = mTypedArray.getString(R.styleable.ConsultationItem_consultation_key_text);
        cValueText = mTypedArray.getString(R.styleable.ConsultationItem_consultation_value_text);
        //获取资源后要及时回收
        mTypedArray.recycle();
    }

    public void initView(Context context) {
        LayoutInflater.from(context).inflate(R.layout.item_consultation_detail_layout, this, true);

        consultationKey = (TextView) findViewById(R.id.consultation_key);
        consultationValue = (TextView) findViewById(R.id.consultation_value);

        consultationKey.setText(cKeyText);
    }

    public void setTypeText(String value) {
        if (TextUtils.isEmpty(value)) {
            value = "";
        }
        consultationKey.setText(value);
    }

    public void setMessage(String value) {
        if (TextUtils.isEmpty(value)) {
            value = "";
        }
        consultationValue.setText(value);
    }


}

2.

在attr文件夹里写


    
    

 

你可能感兴趣的:(Android)