EditText setError显示图标但没有文本

时间:2015-07-03 06:38:31

标签: android android-layout android-edittext

我有一个EditText设置如下:

        <EditText android:id="@+id/etField1" android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="none" android:maxLines="1"
            android:singleLine="true"
            android:focusable="false"
            android:longClickable="false"
            android:clickable="true"
            android:cursorVisible="false"
            android:layout_weight="1"
            android:textAppearance="@style/TextAppearance.Medium"
            style="?android:attr/spinnerStyle"/>

Focusable设置为false,因为我希望用户只需单击EditText,就会显示一个对话框。

我将错误设置如下:

etField1.setError("some error text");
etField1.requestFocus();

但是,由于focusable为false,因此仅显示图标。错误文本未显示。

focusable设置为true将显示错误文本,但这不是可接受的解决方法。

是否有其他解决方案可以显示错误文本?

1 个答案:

答案 0 :(得分:1)

试试这样:

<强> XML: -

   <EditText android:id="@+id/edit"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:singleLine="true"
              android:longClickable="false"
              android:cursorVisible="false"
              android:textAppearance="@style/TextAppearance.AppCompat.Button"
              style="?android:attr/spinnerStyle"/>

将此代码放入您的活动类中。

   EditText text3=(EditText)findViewById(R.id.edit);
        text3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                text3.setFocusable(true);
                text3.setError("some error text");
                text3.requestFocus();
            }
        });