2

我动态构建 EditText。除其他外,我设置了 2 个属性:hint(.setHint) 和 inputType(.setInputType)。我的问题:当我调用 setInputType 时,setHint 无效:空白编辑文本保持空白,没有提示。一旦我注释掉 setInputType,我就会看到所有提示。我需要输入类型和提示。该怎么办?我的代码:

    private EditText buildTextBox(Property property)
{
    EditText control = new EditText(this);
    control.setInputType(getInputTypeByPropertyInputType(property.getType()));// android.text.InputType.
    control.setHint(property.getDisplayName());
    return control;
}

private int getInputTypeByPropertyInputType(String type)
{
    if (type.equals("integer"))
    {
        return android.text.InputType.TYPE_CLASS_NUMBER;
    }
    else
    {
        return android.text.InputType.TYPE_CLASS_TEXT;
    }
}
4

2 回答 2

2

@Eugene 确保在调用 control.setGravity() 和 control.setInputType() 之前调用 control.SetHint(); 它对我非常有用!

            column1 = new EditText(this);
            column1.setId(i);
            column1.setHint("Value");
            column1.setInputType(InputType.TYPE_CLASS_NUMBER);
            column1.setGravity(Gravity.RIGHT);
于 2012-06-15T10:01:52.697 回答
0

我同意尤金的观点。移除重力(只是不要使用 CENTER),提示文本将正常返回。很好的发现!

于 2013-04-23T14:17:04.700 回答