学习笔记(1)Android -- TextView与EditText 同步显示

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


import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;

public class TextWatcherDemo extends Activity implements TextWatcher{
        /** Called when the activity is first created. */
        private TextView myText;
        private EditText myEdit;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            myText=(TextView)findViewById(R.id.text);
            myEdit=(EditText)findViewById(R.id.edit);

            myEdit.addTextChangedListener(this);
        }

        @Override
        public void afterTextChanged(Editable s) {
            // 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 onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            myText.setText(myEdit.getText());
        }

}

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


package nbe.sense7.vinci.edittext;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class EditTextDemoActivity extends Activity {
    private EditText editText;
    private TextView textView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        editText = (EditText)findViewById(R.id.input);
        textView = (TextView)findViewById(R.id.output);

        //设置EditText按键输入时的事件
        editText.setOnKeyListener(new EditText.OnKeyListener(){
            @Override
            public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
                // TODO Auto-generated method stub
                textView.setText(editText.getText());
                return false;
            }
        });
    }
}

你可能感兴趣的:(学习笔记(1)Android -- TextView与EditText 同步显示)