editText光标固定位置

editText cursor fixed position

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

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

我不能将光标设置在 editText.length() 的末尾,如果我想添加多个数字,这总是会导致一些问题,所以我把添加的数字放在准确的位置像这样的光标:

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

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

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

783|345

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

有什么帮助吗?

在您的 activity.xml 上添加您的 EditText android:gravity="right",文本将在右侧。光标将随心所欲地工作。

** 编辑 **

将光标设置在编辑文本的末尾写上你onCreate方法

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);