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

Android 在自定义TextInputLayout中,setHint()不起作用,android,android-textinputlayout,Android,Android Textinputlayout,我试图在CustomTextInputLayout中为TextInputLayout子类。代码如下: public class CustomTextInputLayout extends TextInputLayout { public CustomTextInputLayout(Context context, AttributeSet attrs) { super(context, attrs); } public CustomTextInputLayout(Context co

我试图在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的动画提示

我怎样才能让它工作呢


谢谢。

您的意思是删除我的组件seleccion,只需在CustomTextInputLayout中添加一个EditText和一个按钮?我要试试。谢谢你的帮助。我做到了,提示正在工作,但是按钮设置在编辑文本下面。我想把它放在编辑文本之外,也就是说,放在同一行。试图更改TextInputLayout中的android:orientation=“horizontal”,但无效。您的意思是删除我的组件SeleCion,只需在CustomTextInputLayout中添加一个EditText和一个按钮?我要试试。谢谢你的帮助。我做到了,提示正在工作,但是按钮设置在编辑文本下面。我想把它放在编辑文本之外,也就是说,放在同一行。试图更改TextInputLayout中的android:orientation=“horizontal”,但无效。