Android 在自定义TextInputLayout中,setHint()不起作用
我试图在CustomTextInputLayout中为TextInputLayout子类。代码如下: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
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”,但无效。