光标位于零处的editText位置
Posted
技术标签:
【中文标题】光标位于零处的editText位置【英文标题】:Cursor resides in editText position at zero 【发布时间】:2013-11-06 18:43:59 【问题描述】:使用我创建的键盘布局输入编辑文本值时,光标位于起始位置。光标位置不会根据输入的值移动。有没有办法实现这一点。 代码如下:
String zip;
OnClickListener clickListener = new OnClickListener()
@Override
public void onClick(View v)
final int id = v.getId();
if (id == R.id.button0)
zip = zip + "0";
editZip.setText(zip);
else if (id == R.id.button1)
zip = zip + "1";
editZip.setText(zip);
else if (id == R.id.button2)
zip = zip + "2";
editZip.setText(zip);
else if (id == R.id.button3)
zip = zip + "3";
editZip.setText(zip);
else if (id == R.id.button4)
zip = zip + "4";
//editZip.requestFocus();
editZip.setText(zip);
else if (id == R.id.button5)
zip = zip + "5";
editZip.setText(zip);
else if (id == R.id.button6)
zip = zip + "6";
editZip.setText(zip);
else if (id == R.id.button7)
zip = zip + "7";
editZip.setText(zip);
else if (id == R.id.button8)
zip = zip + "8";
editZip.setText(zip);
else if (id == R.id.button9)
zip = zip + "9";
editZip.setText(zip);
else if (id == R.id.buttonDel)
if (zip.length() > 0)
zip = zip.substring(0, zip.length()-1);
editZip.setText(zip);
;
【问题讨论】:
你真的应该使用开关来提高可读性...... 【参考方案1】:使用setSelection(int) 移动光标位置。
editZip.setSelection(editZip.getText().length());
最后进入OnClickListener
代码。
一些 SO 参考
-
How to set cursor position in EditText?
Place cursor at the end of text in EditText
【讨论】:
以上是关于光标位于零处的editText位置的主要内容,如果未能解决你的问题,请参考以下文章
Android EditText获取光标位置并插入字符删除字符