Android 小技巧-- TextView与EditText 同步显示

时间:2022-02-01 22:13:11

方法一.利用View.OnKeyListener"同步"显示

  1. EditText  myEdit = (EditText)findViewById(R.id.myEdit);
  2. TextView myText = (TextView)findViewById(R.id.myText);
  3. myEdit.setOnKeyListener(new EditText.OnClickListener(){
  4. public boolean onKey(View v , int keyCode  , KeyEvent event)
  5. {
  6. myText.setText(myEdit.getText());
  7. return false;
  8. }
  9. });

方法二.  利用TextWatcher,真正实现同步

  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.text.Editable;
  4. import android.text.TextWatcher;
  5. import android.widget.EditText;
  6. import android.widget.TextView;
  7. public class TextWatcherDemo extends Activity implements TextWatcher{
  8. /** Called when the activity is first created. */
  9. private TextView myText;
  10. private EditText myEdit;
  11. @Override
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. myText=(TextView)findViewById(R.id.text);
  16. myEdit=(EditText)findViewById(R.id.edit);
  17. myEdit.addTextChangedListener(this);
  18. }
  19. @Override
  20. public void afterTextChanged(Editable s) {
  21. // TODO Auto-generated method stub
  22. }
  23. @Override
  24. public void beforeTextChanged(CharSequence s, int start, int count,
  25. int after) {
  26. // TODO Auto-generated method stub
  27. }
  28. @Override
  29. public void onTextChanged(CharSequence s, int start, int before, int count) {
  30. // TODO Auto-generated method stub
  31. myText.setText(myEdit.getText());
  32. }
  33. }