本文为大家分享了EditTex图片实现监听的方法,供大家参考,具体内容如下
第一个例子:对EditText右边的图片进行监听
获取EditText的最右边的x2坐标减去最右边图片的x1坐标点,当点击所在x坐标在于这2个x之间的时候就执行监听事件
final EditText editText = (EditText) findViewById(R.id.zsm); editText.setOnTouchListener(new OnTouchListener() { final int DRAWABLE_LEFT = 0; final int DRAWABLE_TOP = 1; final int DRAWABLE_RIGHT = 2; final int DRAWABLE_BOTTOM = 3; @Override public boolean onTouch(View v, MotionEvent event) { if (event.getX() >= (editText.getRight() - editText .getCompoundDrawables()[DRAWABLE_RIGHT].getBounds() .width())){ Toast.makeText(getApplicationContext(), "aaaa", 1000).show(); } return false; } });
第二个例子:
我们要实现:当EditText的Text改变时,我们希望得到通知,但是可惜的是Android并没有这个监听器,也就无从得知变化了,但我们可以使用TextWatcher类可以帮助我们来实现这个功能。
现有一个id = edit的EditText。
1、定义一个TextWatcher的实例。
private TextWatcher watcher = new TextWatcher(){ @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) { Log.d("TAG","[TextWatcher][onTextChanged]"+s); } };
2、在EditText上注册该TextWatcher实例。
EditText et = (EditText)findViewById(R.id.edit); et.addTextChangedListener(watcher);
这样每当EditText的Text改变的时候,onTextChanged()就会被调用!
以上就是对 Android EditText 控件进行的监听事件,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。