我正在尝试制作一个简单的计算器,但我对editText的光标有问题。
我的textAlignment
是textEnd
,光标的默认位置总是0而不是editText.length()。
我无法将光标设置在editText.length()的末尾,如果我想添加多个数字,那么总是会导致一些问题,所以我把添加的数字放在光标的正好位置这个:
editText.setText(editText.getText().insert(editText.getSelectionEnd(),
button_sbm.getText().toString()));
但是当我想在指定的位置添加另一个数字时:
783 | 345
如果我想在光标位置添加1,它将被添加,但光标将返回0的长度,所以我不能添加两个或更多的数字(123)。
任何帮助?
答案 0 :(得分:0)
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);