天天看點

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