editText光标固定位置
editText cursor fixed position
我正在尝试制作一个简单的计算器,但我对 editText 的光标有疑问。
我的textAlignment
是textEnd
,光标的默认位置总是像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);
我正在尝试制作一个简单的计算器,但我对 editText 的光标有疑问。
我的textAlignment
是textEnd
,光标的默认位置总是像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);