这应该很简单,但是我已经在stackoverflow中尝试了十几个关于这个主题的事情,他们要么什么也不做或者崩溃。
我有一个以最后一个条目开头的edittext字段,比如“12”,我希望初始光标位于2的右边,它总是从1的左边开始。如果有的话如果是键,但键盘上只有一个后退键,用户必须在键入旧文本之前手动重新定位光标。有几个领域,他很可能想让大多数人独自离开。我想要的只是编辑第二个字段让他点击“下一个”“bs”,“bs”,“45”,“next”,“done”。这样他就不必完全定位光标了。
------------ UPDATE ----------------------
这是主文件
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.widget.EditText;
public class MainActivity extends Activity {
static EditText edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edit = (EditText) findViewById(R.id.edit);
edit.setSelection(edit.getText().toString().length());
}
}
这是xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_marginBottom="60dp"
android:text="12"
android:nextFocusDown="@+id/textView4"
android:inputType="number"
android:ellipsize="end"
android:gravity="right"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/edit"
android:layout_alignBottom="@+id/edit"
android:layout_toRightOf="@+id/edit"
android:text=":"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
android:layout_toRightOf="@+id/textView3"
android:text="00"
android:inputType="number"
android:textAppearance="?android:attr/textAppearanceLarge" />
答案 0 :(得分:2)
在setSelection()
:
onCreate()
edit.setSelection(edit.getText().toString().length());
edit2.setSelection(edit2.getText().toString().length());
光标仍将尊重用户的触摸手势,但轨迹球和其他移动方法将从光标右侧开始。