光标位置不正确:空白时为Edittext(重力:右)

时间:2019-02-25 05:49:58

标签: android android-edittext

我已将右重力设置为edittext,并提示如下所示为0

<com.components.MyFontEdittextView
      android:id="@+id/etPessanger"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@null"
      android:ellipsize="end"
      android:hint="0"
      android:gravity="right"
      android:inputType="numberSigned"
      android:maxLines="1"
      android:minLines="1"
      android:paddingLeft="5dp"
      android:paddingRight="5dp"
      android:singleLine="true"
      android:textColor="@color/color_black"
      android:textColorHint="@color/color_app_label"
      android:textSize="16.52sp"
      tools:text="3" />

但是当edittext为空并且提示可见时,它将显示光标位置,如下所示:

enter image description here

我希望光标位于提示的末尾(0末尾) 有解决办法吗?

1 个答案:

答案 0 :(得分:1)

您可以按照以下方式进行操作。

添加android:text="0"并删除android:hint="0"

在您的活动代码中

etPessanger.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if(hasFocus) {
                    //Remove 0 from edittext and set empty in edittext
                    if(etPessanger.getText().toString().equals("0")) {
                        etPessanger.setText("");
                    }
                }

            }
        });