这应该很简单,但是我在 stackoverflow 中就该主题尝试了大约十几件事,它们要么什么都不做,要么崩溃。
我有一个以最后一个条目开头的edittext字段,例如“12”,我希望初始光标位于2的右侧,并且始终从1的左侧开始。如果有del就可以了键,但键盘上只有一个后退键,用户必须手动重新定位光标,然后再在旧文本上键入。有几个领域,他很可能想不理会其中的大部分。如果他只想编辑第二个字段让他点击“下一个”、“bs”、“bs”、“45”、“下一个”、“完成”,我想要什么。这样他就不用定位光标了。
- - - - - - 更新 - - - - - - - - - - -
这是主文件
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" />