Android对EditTex的图片实现监听

本文为大家分享了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 控件进行的监听事件,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。