Android:从一开始就在 EditText 中显示文本

TJ1*_*TJ1 4 android android-edittext

我的 xml 文件中有一个具有一定宽度的 EditText 视图。我已将其强制为 1 行,以便如果输入的文本长于我的编辑文本的宽度,则文本不会使用以下方法环绕:

android:singleLine="true"
Run Code Online (Sandbox Code Playgroud)

但是,在输入长文本(长于编辑文本的宽度)后,它会显示文本的最后一部分。我想在用户完成输入文本后,从头开始显示文本。例如,假设我有一个宽度仅接受 4 个字符的编辑文本。因此,如果我在 EditText 框中输入“ABCDEFG”,我会看到“DEFG”但我想看到“ABCD”。如何才能做到这一点。

这是我的 XML 格式的 EditText:

<EditText
    android:id="@+id/fileNameBox"
    android:layout_width = "0dp"
    android:layout_height="40dp"
    android:gravity="left"
    android:ellipsize="start"
    android:singleLine="true"
    android:textSize="14sp" 
    android:layout_weight="0.5" 
    android:layout_marginBottom="1dip"/>
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助。

天津

Ron*_*nie 5

将焦点更改侦听器设置为 EditText 应该可以满足您的需求。

mEdittext.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override
    public void onFocusChange(View v, boolean hasFocus) {
    if (hasFocus == false) {  // lost focus
       mEdittext.setSelection(0,0);
    }
}
});
Run Code Online (Sandbox Code Playgroud)