2012-05-22 154 views
6


我有一個用戶可以輸入輸入的EditText框。我需要在用戶輸入文本時在TextView中顯示輸入文本(放置在Edittext下方)。
例如:如果用戶在Edittext框中輸入任何字符,我需要在TextView中顯示相同的字符。以同樣的方式,如果用戶從editetext中刪除任何字符,我需要從TextView中刪除相同的字符。 (Ultimtely,我想改變editext的文本更改textview的文本)。我希望我的要求現在清楚。我怎樣才能做到這一點?請指導我如何更改EditText文本更改的TextView文本?

+0

看看這個:http://www.andreabaccega.com/blog/2010/10/09/onchange-事件上的EditText功能於Android的/ – Urho

回答

21

將TextWatcher添加到您的Edittext中。在afterTextChanged()做你的操作。 http://developer.android.com/reference/android/text/TextWatcher.html

TextWatcher inputTextWatcher = new TextWatcher() { 
    public void afterTextChanged(Editable s) { 
       textview.setText(s.toString()); 
    } 
    public void beforeTextChanged(CharSequence s, int start, int count, int after){ 
    } 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
    } 
}; 

editText.addTextChangedListener(inputTextWatcher); 
4

你應該覆蓋此方法:

editText.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 

    } 

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

    } 

    @Override 
    public void afterTextChanged(Editable s) { 
     if(editText.getText().length() >= 0) { 
      textView.setText(editText.getText().toString()) 
     } 
    } 
}); 
5
edtText.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       // TODO Auto-generated method stub 
      } 

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

      } 

      @Override 
      public void afterTextChanged(Editable s) { 
       // TODO Auto-generated method stub 
       if (!edtText.getText().toString().equalsIgnoreCase("")){ 

        // here textview.setText(edtText.getText()); 

       } 
      } 
     }); 
    }