2012-08-30 35 views
4

我正在開發Android應用程序。在我的應用程序中,我必須使用基於文本的圖像。因此,我爲EditText編寫OnChangeListener()。以下是我的示例代碼。從onTextChangeListener()更改EditText文本

edt.addTextChangedListener(this); 
@Override 
public void afterTextChanged(Editable s) { 
    // TODO Auto-generated method stub 
    CharSequence cs=convert(edt.getText.toString()); 
      edt.setText(cs); 
} 
@Override 
public void beforeTextChanged(CharSequence s, int start, int count, 
     int after) { 
    // TODO Auto-generated method stub 


} 
@Override 
public void onTextChanged(CharSequence s, int start, int before, int count) { 
    // TODO Auto-generated method stub 


} 

但我得到了上述code.I例外知道異常的原因是從afterTextChanged()方法調用setText()。但是,我不得不改變基於相同的EditText文本change.Help我的朋友

EditText文本值
+0

ç你解釋你得到了什麼異常? – Pasha

+0

發佈ant日誌。 – Daniel

+0

我越來越stackoverflow。原因是我嘗試從ontextchanged()的settext。所以它使無限遞歸。 – sarath

回答

7

還有一個解決方案可以使用布爾變量,因此它不會進入無限調用堆棧,並最終給stackoverflow exception

public void afterTextChanged(Editable s) { 
    if(!flag) 
    { 
      flag = true; 

      edt.setText("string"); 

      flag = false; 
    } 
} 
相關問題