使用按钮删除EditText中的文本

时间:2012-03-07 17:41:15

标签: java android user-interface

有人知道如何在EditText中创建一次删除一个字符的按钮吗?

我尝试了以下这是一个蹩脚的尝试,因为我不知道该怎么做:

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;

如果有人知道请分享

2 个答案:

答案 0 :(得分:2)

如果您只想删除最后一个字符,则子字符串方法可以很好地完成:

edittext.getText().toString().substring(0, edittext.getText().toString().length()-1);

上面的代码将索引0的子字符串返回到字符串-1的长度。

答案 1 :(得分:2)

另一种变体:

edittext.setText(edittext.getText().delete(edittext.length() - 1, edittext.length()));