欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android对EditTex的图片实现监听

程序员文章站 2024-03-04 15:45:23
本文为大家分享了edittex图片实现监听的方法,供大家参考,具体内容如下 第一个例子:对edittext右边的图片进行监听 获取edittext的最右边的x2坐标减去...

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