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文件夹里写
<declare-styleable name="ConsultationItem"> <attr name="consultation_key_text" format="string" /> <attr name="consultation_value_text" format="string" /> </declare-styleable>