天天看点

android中TextView实时跟踪EditText输入的问题

   今天在修改一个代码时,那个代码是TextView实时跟踪Edittext输入的内容,使用的方法是:

对EditText添加 setOnKeyListener监听器

原代码是:

editText1.setOnKeyListener(new EditText.OnKeyListener() {

	@Override
	public boolean onKey(View v, int keyCode, KeyEvent event) {
	// TODO Auto-generated method stub
	//设定在EditText里所输入的数据同步显示在TextView 
		textView1.setText(editText1.getText());					
		return false;
	}
});
           

然而问题却出来了,用手机测试时,在EditText输入内容时,只有输入Enter键和Delete键TextView才更新内容,而在虚拟机中却没有此问题。

对此的解决方法是:

对editText1添加addTextChangedListener监听器,代码是:

editText1.addTextChangedListener(new TextWatcher(){

	//顾名思义,是文本改变后你想做什么?在此方法中加相应的代码
	@Override
	public void afterTextChanged(Editable s) {
		// TODO Auto-generated method stub
		//设定在EditText里所输入的数据同步显示在TextView 
		textView1.setText(editText1.getText());
	}

	@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
		
	}
	
});