Android监听事件添加动作的四种方式

本文详细介绍了Android中事件监听的四种常见方式:匿名内部类、实现接口、绑定标签及直接绑定到标签上,并通过示例代码进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:http://blog.sina.com.cn/s/blog_48b5bee10102uwmz.html

第一种方式:匿名内部类作为事件监听类

在Activity组件的Oncreata事件中直接定义,直接动作,这种方式使得每个控件都定义一次。大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适,实际上,这种形式是目前是最广泛的事件监听器形式。

Buttonbtn1=(Button)findViewById(R.id.myButton);

btn1.setOnclickListener(new OnclickListener(){

      public void onClick(View v){

      // 要执行的操作

      }

})

 

Buttonbtn2=(Button)findViewById(R.id.myButton2);

btn2.setOnclickListener(new OnclickListener(){

      public void onClick(View v){

      // 要执行的操作

      }

})

 第二种通常是在Activity组件实现其接口,这样可以多个外接控件共享一个接口,相对方便

publicclass TestMedia extends Activity implementsOnClickListner{

      Button btn1=(Button)findViewById(R.id.myButton1);

      Button btn2=(Button)findViewById(R.id.myButton2);

      btn1.setOnclickListener(this);

      btn2.setOnclickListener(this);

}
public void onClick(View v){

      switch (v.getId()){

            case R.id.myButton1;

            //要执行的动作1

            break;

            case R.id.myButton2;

            //要执行的动作2

            break;

      }

}

第三种类似于第二种,好处是如果需要,可以实现多个监听接口,这样更加方便

publicclass TestMedia extends Activity{

      Button btn1=(Button)findViewById(R.id.myButton1);

      Button btn2=(Button)findViewById(R.id.myButton2);

      btn1.setOnclickListener(new Startclick());

      btn2.setOnclickListener(new Stopclick());

}

classStartClick implements OnClickListener{

      public void onClick(View v){//或直接跟上要执行的动作

            switch(v.getId()){

                  case R.id.myButton1:

                        //要执行的动作

            }

      }

}

classStopClick implements OnClickListener{////或直接跟上要执行的动作

      public void onClick(View v){

            switch(v.getId()){

                  case R.id.myButton2:

                        //要执行的动作

            }

      }

}

       第四种:直接绑定到标签

直接在界面布局文件中为指定标签绑定事件处理方法,对于很多Android标签而言,它们都支持如onClick、onLongClick等属性。在布局文件中为button添加属性,代码如下:

 

      android:layout_width=”wrap_content”  

      android:layout_height=”wrap_content”

      android:text=”button”

      android:id=”@+id/button”

      android:onClick=”clickHandler”

为Button按钮绑定一个事件处理方法:clickHanlder,这意味着开发者需要在该界面布局对应的Activity中定义一个void clickHanler(Viewsource)方法,该方法将会负责处理该按钮上的单击事件。代码如下:

publicclass ButtonTest extends Activity{

      protected void onCreate(Bundle savedInstanceState){

            super.onCreat(savedInstanceState);

            this.setContentView(R.layout.main);

      }

      public void clickHandler(Viewv){

            System.out.println(“直接绑定在标签上的按钮”);

      }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值