2014-01-06 68 views
0

後,我對佈局2周的EditText和第一時改變onTextChanged凍結在第一次運行

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout. 

    etInput = (EditText) findViewById(R.id.etInput); 
    etOutput = (EditText) findViewById(R.id.etOutput); 

    etInput.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { 

     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { 

      etOutput.append(charSequence); 
     } 

     @Override 
     public void afterTextChanged(Editable editable) { 

     } 
    }); 

我想簡單地添加符號到第二的EditText但它第一次運行後凍結。例如,我輸入「h」字母。它被添加到第二個edittext。但是當我嘗試輸入其他符號時,沒有任何反應。

我的錯誤的logcat的是在這裏:http://pastebin.com/p2qizUU0

+1

發佈您的logcat – SathishKumar

+1

您發佈的代碼似乎是正確的,在其他部分的問題 –

+0

我已經添加logcat – Bringoff

回答

0

不要直接添加到的EditText。改爲使用可編輯。

etInput.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { 

    } 

    @Override 
    public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { 

     etOutput.append(charSequence); 
     Editable edtOutput = etOutput.getText(); 
     edtOutput.clear(); 
     edtOutput.insert(0,charSequence); 
    } 

    @Override 
    public void afterTextChanged(Editable editable) { 

    } 
}); 
0

在onTextChanged你能做到這樣:

String str = etOutput.getText().toString(); 
str+=charSequence.toString(); 
etOutput.settext(str); 

直接附加到EDITTEXT我認爲這是問題。

相關問題