2011-05-08 115 views
1

我試圖設置這個,所以當我在EditText字段中輸入某些內容時,它會更改文本顏色並將變量設置爲所輸入數字的值。然而,當我從字段中刪除字符時,它會觸發關閉應用程序的錯誤。我想我可能需要找到一個不依賴於長度的if語句,或者可能使用其他一些方法(onTextChanged,beforeTextChanged ...我真的不知道如何正確使用其中任何一個)afterTextChanged刪除問題

public void afterTextChanged(Editable arg0) { 
    if(arg0.length()>0){ 
     ageTag.setTextColor(Color.GREEN); 
     ageEntered=true; 
     ageInYears=Integer.parseInt(enterAge.getText().toString()); 
    } 
} 

回答

2
  1. 貫徹android.text.TextWatcher接口

  2. 綁定一個監聽器:

enterAge.addTextChangedListener(this);

+0

那是在我的代碼早些時候... EnterAge是一個EditText與偵聽器設置它。 ageTag是一個TextView,age輸入是一個布爾標誌,ageInYears是一個從輸入到EnterAge中的數字字符串中解析出來的整數,所以enterAge.addTextChangedListener(this);並在頂部我有 公共類計算器擴展... bla bla bla ...實現TextWatcher { 再次...我遇到的麻煩是事件處理程序正在做一些afterTextChanged後,它試圖當我刪除以清除字段時執行那些沒有文字的動作。 – kleaver 2011-05-16 19:30:17