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

  1. button和imagebutton都拥有一个onClick事件,通过自身的.setOnClickListener(OnClickListener)方法添加点击事件
  2. 所有的控件都有一个onclick的事件,不仅仅button和ImageButton拥有;
  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

时间: 2024-08-28 15:35:09

按钮的点击事件---监听实现的相关文章

Android实现Button按钮点击事件监听的几种方式

工作中的项目通常有多个人一起开发,而每个人都有每个人的代码风格,不注重代码规范通常是前人挖坑,后人采坑,降低项目开发效率及加大维护难度,这里分享几种安卓按钮点击事件监听的实现方式. 方式一:直接在Activity中实现View.OnClickListener接口,重写onClick方法,提供所有按钮监听事件入口.这是实际项目中最常用的方式,尤其在页面有多个按钮的情况下比较适用. package com.example.myapp; import android.app.Activity;impo

Android点击Button按钮的四种事件监听方法总结

首先我们在activity_main.xml里面先定义一个Button空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="m

点击事件监听

方法一:写一个内部类,在类中实现点击事件 1.在父类中调用点击事件 2.创建内部类 方法二:使用匿名内部类 方法三:让activity实现点击接口 1.实现点击接口 implements OnClickListener 2.调用点击事件方法 3.实现接口方法 方法四.在layout  XML文件中定义button点击时所调用的方法 android:onClick="***********"

Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)

1.main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" androi

android之实现各个组件点击事件监听

布局:layout/activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="m

Android——按钮的事件监听

关于Button按钮的四种事件监听方法总结 首先我们在activity_main.xml里面先定义一个Button空间 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" andr

NavigationView的头部的事件监听

现在App的UI设计中Drawerlayout+NavigationView是一个比较常用的设计了,而以前我一般只是在Navigation中的menu(即下部的item中)添加事件监听,而今天碰到一个需要是要在header中增加事件监听. 需求如下:点击图片,在底部弹出一个弹出窗口. 侧边导航栏布局:  <!--侧边导航栏-->     <android.support.design.widget.NavigationView        android:id="@+id/n

javascript事件监听

使用addEventListener() 方法用于向指定元素添加事件句柄,而且添加的事件句柄不会覆盖已存在的事件句柄,同时可以向一个元素添加多个事件句柄,可以向同个元素添加多个同类型的事件句柄,如:两个 "click" 事件.你可以向任何 DOM 对象添加事件监听,不仅仅是 HTML 元素.如: window 对象. 使用 removeEventListener() 方法来移除事件的监听. 语法:addEventListener(event, function, useCapture)

设置UITableView背景透明/监听cell左边的删除按钮的点击事件

_tableView = [[UITableView alloc] init]; _tableView.delegate = self; _tableView.dataSource = self; _tableView.frame = CGRectMake(kZero, 66, kScreenW, kScreenH - 66 - 70); //设置列表为透明背景 UIImage *image = [MusicManager createImageWithColor:[UIColor clearC