在自定义TextInputLayout中,setHint()不起作用

时间:2016-10-10 08:20:10

标签: android android-textinputlayout

我正在尝试在CustomTextInputLayout中继承TextInputLayout。这是代码:

public class CustomTextInputLayout extends TextInputLayout {

public CustomTextInputLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public CustomTextInputLayout(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}

public CustomTextInputLayout(Context context) {
    super(context);
}

public View getComponent(){
    return this.getChildAt(0);
}

public void setHint(String hint){
    super.setHint(hint);
}
}

我用它来包装另一个自定义组件,带有一个按钮和一个EditText:

public class ComponentesSeleccion extends RelativeLayout {

private EditText editText;
private Button button;

public ComponentesSeleccion(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}

public ComponentesSeleccion(Context context) {
    super(context);
    inicializar();
}

public ComponentesSeleccion(Context context, AttributeSet attrs) {
    super(context, attrs);
    inicializar();
}

private void inicializar() {
    String infService = Context.LAYOUT_INFLATER_SERVICE;
    LayoutInflater li =
            (LayoutInflater)getContext().getSystemService(infService);
    li.inflate(R.layout.seleccionlayout, this, true);
    editText=(EditText)findViewById(R.id.editText);
    button=(Button)findViewById(R.id.button2);
}

public Button getButton() {
    return button;
}

public EditText getEditText() {
    return editText;
}

public void setInputType(int type){
    editText.setInputType(type);
}

public void setImagen(Drawable drawable){
    button.setBackgroundDrawable(drawable);
}
}

有了这个,我无法在我的代码中执行:

CustomTextInputLayout ctil=(CustomTextInputLayout)view.findViewById(R.id.ctil);
ctil.setHint(“a hint");

没有异常,没有错误,但未绘制提示。我可以在EditText上设置正常提示,但我想要TextInputLayout的动画提示。

我怎么能让它发挥作用?

谢谢。

0 个答案:

没有答案