editText游标固定位置

时间:2015-12-08 21:20:18

标签: android android-edittext cursor

我正在尝试制作一个简单的计算器,但我对editText的光标有问题。

我的textAlignmenttextEnd,光标的默认位置总是0而不是editText.length()。

我无法将光标设置在editText.length()的末尾,如果我想添加多个数字,那么总是会导致一些问题,所以我把添加的数字放在光标的正好位置这个:

editText.setText(editText.getText().insert(editText.getSelectionEnd(),

 button_sbm.getText().toString()));

但是当我想在指定的位置添加另一个数字时:

783 | 345

如果我想在光标位置添加1,它将被添加,但光标将返回0的长度,所以我不能添加两个或更多的数字(123)。

任何帮助?

1 个答案:

答案 0 :(得分:0)

activity.xml添加EditText android:gravity="right",文字将在右侧。光标将按您的意愿工作。

**编辑**

将光标设置在您onCreate方法

上的edittext写入的末尾
ed.setSelection(ed.getText().length());

其中ed是您的编辑文字

**编辑2 **

我想这段代码

editText.setText(editText.getText().insert(editText.getSelectionEnd(),

 button_sbm.getText().toString()));
单击按钮

。像这样改变

int pos = editText.getSelectionStart();
editText.setText(editText.getText().insert(pos, button_sbm.getText().toString()));
editText.setSelection(pos + 1);