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

Android基础--点击事件的四种写法

时间:2014-11-12 00:22:55      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   io   color   ar   使用   java   sp   

 

 

1.定义内部类,实现点击事件,使用时将内部类对象传入事件源的setOnClickListener()方法中

private class MyClickListener implements View.OnClickListener{

        @Override
        public void onClick(View v) {
            // 功能代码        
        }
        
    }

2.使用匿名内部类的方式实现点击事件

setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {            
                //功能代码        
            }    
        });

3.在绑定点击事件中将当前的Activity对象传入,setOnClickListener(this),this代表当前控件所在Activity对象的引用,使用此方式,需要当前Activity实现View.OnClickListener接口,在onClick方法中,通过判断事件源(控件)的Id,来决定执行什么操作.

public class MainActivity extends ActionBarActivity implements OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button but = (Button)this.findViewById(R.id.bt_dial);
        but.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.but:
            //功能代码
            break;

        default:
            break;
        }      
    }
}

4.在Activity布局文件中,给事件源绑定onclick事件,并在Activity中提供事件的实现

activity_xxx_xml中,添加android:onClick="buttonClicked",其中buttonClicked为点击事件的实现

<Button
        android:onClick="buttonClicked"
        android:id="@+id/butl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按钮" />

Activity.java文件中,添加如下代码,注意点击事件的访问权限须为public,且形参为View类型

public void buttonClicked(View v){
        if(v.getId()==R.id.but){
            //功能代码
        }
    }

Android基础--点击事件的四种写法

标签:android   style   blog   io   color   ar   使用   java   sp   

原文地址:http://www.cnblogs.com/fujianyi/p/4090768.html

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