简体   繁体   English

使用按钮删除EditText中的文本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM