码迷,mamicode.com
首页 > 其他好文 > 详细

按钮的点击事件---监听实现

时间:2015-12-21 14:22:55      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

  1. buttonimagebutton都拥有一个onClick事件,通过自身的.setOnClickListener(OnClickListener)方法添加点击事件
  2. 所有的控件都有一个onclick的事件,不仅仅buttonImageButton拥有;
  3. 通过点击事件的监听可以实现点击按钮之后要发生什么动作;
  4. 监听事件实现的几种写法:
    • 匿名内部类实现
    • 外部独立类实现
    • 使用接口的实现
      技术分享
       1 package com.imooc.outclassonclick;
       2 
       3 import android.support.v7.app.ActionBarActivity;
       4 import android.support.v7.app.ActionBar;
       5 import android.support.v4.app.Fragment;
       6 import android.app.Activity;
       7 import android.os.Bundle;
       8 import android.util.Log;
       9 import android.view.LayoutInflater;
      10 import android.view.Menu;
      11 import android.view.MenuItem;
      12 import android.view.View;
      13 import android.view.View.OnClickListener;
      14 import android.view.ViewGroup;
      15 import android.widget.Button;
      16 import android.widget.ImageButton;
      17 import android.widget.Toast;
      18 import android.os.Build;
      19 
      20 public class MainActivity extends Activity implements OnClickListener {
      21     private Button bt1;
      22     private Button bt2;
      23     private ImageButton imgbt;
      24     @Override
      25     protected void onCreate(Bundle savedInstanceState) {
      26         super.onCreate(savedInstanceState);
      27         setContentView(R.layout.activity_main);
      28         bt1 = (Button)findViewById(R.id.button1);
      29         bt2 = (Button)findViewById(R.id.button2);//强制转换成Button
      30         imgbt = (ImageButton)findViewById(R.id.imageButton1);
      31         /*第一种方式:匿名内部类
      32          * 1、 初始化当前所需要控件,如何初始化一个控件?
      33          *    findViewById---但会的是一个View的对象
      34          *    findViewById是如何查找到对应的view的id:通过R文件找到的;
      35          * 2、设置Button的监听通过监听器实现我们点击Button要操作的事情
      36          * */
      37 //        bt1.setOnClickListener(new OnClickListener() {
      38 //            
      39 //            @Override
      40 //            public void onClick(View arg0) {
      41 //                // TODO Auto-generated method stub
      42 //                
      43 //            }
      44 //        });
      45         
      46         /*第二种方式:外部类实现:
      47          * */
      48         bt1.setOnClickListener(new MyOnClickListenr(){@Override
      49         public void onClick(View arg0) {
      50             // TODO Auto-generated method stub
      51             super.onClick(arg0);
      52             Toast.makeText(MainActivity.this, "bt1要执行的逻辑!", 1).show();
      53         }        
      54         });
      55         bt2.setOnClickListener(new MyOnClickListenr(){@Override
      56         public void onClick(View arg0) {
      57             // TODO Auto-generated method stub
      58             super.onClick(arg0);
      59             Toast.makeText(MainActivity.this, "bt2要执行的逻辑!", 1).show();
      60         }
      61         });
      62         /*3、第三种方式:通过实现一个接口的方式实现监听事件
      63          * */
      64         imgbt.setOnClickListener(this);
      65     }
      66     @Override
      67     public void onClick(View arg0) {
      68         Log.i("tag", "第三种方式实现");
      69     }
      70     
      71 }
      72 
      73 /*OnClickListener是一个接口,不能通过继承的方式实现
      74  * */
      75 class MyOnClickListenr implements OnClickListener
      76 {
      77 
      78     @Override
      79     public void onClick(View arg0) {
      80         // 让所有使用当前内部类的点击事件的所有按钮都要做出一个的动作,比如改变button的透明度
      81 //        System.out.println("已经被点击");
      82 //        Log.i("tag", "父类的onclick事件");
      83         arg0.setAlpha(0.5f);
      84     }
      85     
      86 }
      Listener

       

 

按钮的点击事件---监听实现

标签:

原文地址:http://www.cnblogs.com/csschn/p/5063213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!