2011-09-23 38 views
1

我将在我的应用程序中实现计算器类型应用程序。 我已经成功实现了所有功能。 Buit卡住了在任何其他计算器上可用作“C”的lastSingle字符清除按钮。 所以我需要代码来实现它。 所以,如果任何人有它,那么请帮助我。 谢谢。如何实现与计算器相同的Edittext的清除按钮功能?

+1

你面临的问题的元素?你需要做什么呢? – Pratik

+0

我想单个字符清除按钮的代码? –

回答

2
public void clear(){ 

String text = (yourEditText.getText().toString); 
if(!(text.equals(""))) 
yourEditText.setText(text.subString(0,text.length-2)); 
} 

一个更好的可能是

Editable editableText = yourEditText.getEditableText(); 
      int length = editableText.length(); 
      if (length > 0) { 
       editableText.delete(length - 1, length); 
      } 
+0

但如果你想从特定位置删除一些东西,它不会帮助我认为 –

+0

好的第二个工作适合我。谢谢。现在你有什么想法来实现这个“。”功能?我的意思是使用Floting点与“。”。按钮按下,与计算器相同? –

0

当你在Windows计算器上按'C'按钮时,你会得到:'0'。

两个选项:

EditText et = findViewById(R.id.editText1); 

EditText et = new EditText(this); 

然后

et.setText("0."); 
1

你好,这是我做了什么

它会帮助你在所有的方面,即位置删除和非l ocation删除从编辑文本

private void handleBackspace() { 

     String txt = _txtGiven.getText().toString(); 
     String value = ""; 
     int i = _txtGiven.getSelectionStart(); 
     for (int j = 0; j < txt.length(); j++) { 
      char c = txt.charAt(j); 
      if (!((i - 1) == j)) { 
       value += c; 
      } 
     } 
     if (txt.length() == 1 && i == 1) { 
      _txtGiven.setText(""); 
     } 
     if (value.length() > 0) { 
      _txtGiven.setText(value); 
      if (!(i == 0)) { 
       _txtGiven.setSelection(i - 1); 
      } 
     } 

} 

其中_txtGiven是您编辑文本

使用此代码,让我知道,如果你面对任何问题

享受

相关问题