2012-12-07 91 views
0

我有2個edittext,我想設置第二個edittext爲0,並使其失效,如果第一個edittext的值低於10.我使用TextWatcher但運行時出現堆棧溢出錯誤。誰能幫我這個 ?? 我的代碼如下:EditText上的TextWatcher Android

qteDev = (EditText) findViewById(R.id.edt_qtedev); 
    qte = (EditText) findViewById(R.id.edt_qte); 
    qte.addTextChangedListener(new TextWatcher() { 

    public void onTextChanged(CharSequence s, int start, int before, int count) {   
     if(qte.getText().toString().equals("")) 
      return ; 
     int l = qte.getText().length(); 
     if (l == 1) { 
      qteDev.setText("0"); 
      qteDev.setClickable(false); 
      qteDev.setEnabled(false); 
      qteDev.setActivated(false); 
     } 
    } 

    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
     // TODO Auto-generated method stub 
    } 

    public void afterTextChanged(Editable s) { 
     // TODO Auto-generated method stub 
    } 
}); 
+1

請發佈錯誤(log-cat) – Bigflow

回答

1

嘗試這樣的事情在你的afterTextChanged方法:

public void afterTextChanged(Editable s) { 
    if(Integer.parseInt(s.toString()) < 10) { 
     secondEditText.setText(0); 
     secondEditText.setEnabled(false); 
    } 
} 
+0

好吧,我會試試看。謝謝 –

+0

它仍然在行中產生相同的錯誤secondEditText.setText(「0」);我將通過將0作爲默認值並測試激活來解決這個問題。不管怎麼說,還是要謝謝你 :) –

0

嘗試修復您的afterTextChanged方法

qteDev = (EditText) findViewById(R.id.edt_qtedev); 
qte = (EditText) findViewById(R.id.edt_qte); 
qte.addTextChangedListener(new TextWatcher() { 

public void afterTextChanged(Editable s) { 
    // TODO Auto-generated method stub 
    if(s.toString().length() < 10){ 
     qteDev.setText("0"); 
     qteDev.setEnable(false); 
    } 
} 

如果有任何問題,把任何評論。謝謝

相關問題