[英]Deleting text in EditText using a button
Does anybody know how to make a button that deletes one character at a time in an EditText? 有人知道如何在EditText中创建一次删除一个字符的按钮吗?
I tried the following which is a lame attempt really because I don't know how to do it: 我尝试了以下这是一个蹩脚的尝试,因为我不知道该怎么做:
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.keypad_0:
edittext.setText(edittext.getText() + "0");
break;
case R.id.keypad_1:
edittext.setText(edittext.getText() + "1");
break;
case R.id.keypad_2:
edittext.setText(edittext.getText() + "2");
break;
case R.id.keypad_3:
edittext.setText(edittext.getText() + "3");
break;
case R.id.keypad_4:
edittext.setText(edittext.getText() + "4");
break;
case R.id.keypad_5:
edittext.setText(edittext.getText() + "5");
break;
case R.id.keypad_6:
edittext.setText(edittext.getText() + "6");
break;
case R.id.keypad_7:
edittext.setText(edittext.getText() + "7");
break;
case R.id.keypad_8:
edittext.setText(edittext.getText() + "8");
break;
case R.id.keypad_9:
edittext.setText(edittext.getText() + "9");
break;
case R.id.keypad_minus:
edittext.setText(edittext.getText() + "-");
break;
case R.id.keypad_del:
edittext.setText(edittext.getText().length() - 1); //attempt here
break;
If anybody knows please share 如果有人知道请分享
If you're just wanting to remove the last character, the substring method will do nicely: 如果您只是想删除最后一个字符,则substring方法可以很好地执行:
edittext.getText().toString().substring(0, edittext.getText().toString().length()-1);
The above code returns the substring of index 0 to the length of the string -1. 上面的代码将索引0的子字符串返回到字符串-1的长度。
另一个变种:
edittext.setText(edittext.getText().delete(edittext.length() - 1, edittext.length()));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.