Xamarin Android EditText setError不显示文本

时间:2014-09-11 04:53:33

标签: android xamarin.android

由于某种原因,我无法在EditText中显示错误消息文本。我使用的是Xamarin.Android 4.16.0。我有一个简单的用例

private EditText _businessNameEdit;
_businessNameEdit = _rootView.FindViewById<EditText> (Resource.Id.editTextBusinessName);

    //wire up save button handler
            if (_saveButton != null) {
                _saveButton.Click += (sender, e) => {
                    validateFormInput();


void validateFormInput ()
        {
            Drawable errorIcon = Resources.GetDrawable(Resource.Drawable.statuserror); 

            if (String.IsNullOrEmpty (_businessNameEdit.Text)) {
                _businessNameEdit.Error = "Cannot be Empty";
                _businessNameEdit.RequestFocus ();
                //_businessNameEdit.SetCompoundDrawablesWithIntrinsicBounds(0, 0, Resource.Drawable.statuserror, 0);
            }
        }               };

如果我执行editText.Error =“Some message”,默认的Android错误图标将显示没有消息,就像这样,如果我使用SetCompoundDrawablesWithIntrisicBounds(),它会显示我的自定义图像,而不显示消息。

Xamarin Android Edittext Error

2 个答案:

答案 0 :(得分:2)

我的天啊,花了一整天才意识到这是一个主题问题。添加了

android:theme = "@android:style/Theme.Holo.Light" 

到活动就是这样。

答案 1 :(得分:1)

可能文本颜色为白色,因此请尝试在错误消息中为文本设置不同的颜色:

_businessNameEdit.Error =
                  Html.fromHtml("<font color='black'>Cannot be Empty</font>");