有人知道如何在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;
如果有人知道请分享
答案 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()));