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

 

 

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){
            //功能代码
        }
    }

posted on 2014-11-11 22:47  fujianyi  阅读(652)  评论(0编辑  收藏  举报