码迷,mamicode.com
首页 > 移动开发 > 详细

Android监听Button和ImageButton控件的点击事件

时间:2015-07-19 23:15:06      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

一、onClick事件  

  Button和ImageButton都有一个onClick事件,通过自身的.setOnClickListener(OnClickListener)方法添加点击事件

   所有的控件都有onClick事件,不仅仅是Button和ImageButton才有

   通过点击事件的监听可以实现点击按钮之后要发生什么动作

 

 

二、操作的基本步骤:

   第一步:声明一个私有变量,用于存储获取到的控件对象

   第二步:初始化当前需要的控件(找到需要操作的那个控件)

   第三步:设置Button的监听器,通过监听器实现我们点击Button要操作的事情

 

 

三、匿名内部类的方式实现监听onClick事件

package com.muke.textview_edittext;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
    
    private Button loginButton;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //1、初始化当前所需要的控件(就是找到需要操作的那个控件,findViewById方法返回的是view对象,需要向下转型成Button对象)
        loginButton = (Button) findViewById(R.id.button1);
        
        //2、设置Button的监听器,通过监听器实现我们点击Button要操作的事情
        loginButton.setOnClickListener(new OnClickListener() {
            @Override
            //在当前onClick方法中监听点击Button的动作
            public void onClick(View v) {
                System.out.println("我的Button被点击了");
            }
        });
    }
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/login" />

</LinearLayout>

 

 

 

 

四、外部类方式实现监听onClick事件

package com.muke.textview_edittext;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
    
    private Button loginButton;
    private Button registerButton;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //1、初始化当前所需要的控件(就是找到需要操作的那个控件,findViewById方法返回的是view对象,需要向下转型成Button对象)
        loginButton = (Button) findViewById(R.id.button1);
        registerButton = (Button) findViewById(R.id.button2);
        
        //2、设置Button的监听器,通过监听器实现我们点击Button要操作的事情
        loginButton.setOnClickListener(new MyOnClickListener(){
            public void onClick(View v) {
                super.onClick(v);       //MyOnClickListener是父类,当点击这个按钮的时候会执行这个方法也会执行父类的onClick方法
                Toast.makeText(MainActivity.this, "loginButton要执行了(子类)", 1).show();
            }
        });

        registerButton.setOnClickListener(new MyOnClickListener(){
            public void onClick(View v) {
                super.onClick(v);     //MyOnClickListener是父类,当点击这个按钮的时候会执行这个方法也会执行父类的onClick方法
                Toast.makeText(MainActivity.this, "registerButton要执行了(子类)", 1).show();
            }
        });
    }
}


//OnClickListener是一个接口,所以使用implements 去实现
class MyOnClickListener implements OnClickListener{
    @Override
    public void onClick(View v) {
        System.out.println("loginButton和registerButton要执行了(父类)");
        v.setAlpha(0.5F); //设置两个按钮loginButton和registerButton的透明度
    }
    
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/login" />
    
    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/register" />

</LinearLayout>

 

Android监听Button和ImageButton控件的点击事件

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/4660013.html

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