2011-09-23 70 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是您編輯文本

使用此代碼,讓我知道,如果你面對任何問題

享受

相關問題