Android 给按钮添加监听事件

时间:2023-01-22 12:27:35

在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式

1、方式一

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //获取button按钮
        Button btnCall=(Button)findViewById(R.id.btnCall);
        
        //为button 按钮添加监听事件
        btnCall.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Call();
            }
        });
        
        
    }
 
    
    /**
     * 方法
     */
    public void Call()
    {
        System.out.println("拨打电话");
    }

}

2、方式二

public class MainActivity2 extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //找到Button  按钮
        Button btnCall = (Button) findViewById(R.id.btnCall);

        //为button 按钮监听事件
        btnCall.setOnClickListener(new MyOnclickListen());

    }

    /**
     * 是实现OnclickListener的类
     * 
     * @author Administrator
     * 
     */
    class MyOnclickListen implements OnClickListener {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Call();
        }

    }

    /**
     * 方法
     */
    public void Call() {
        System.out.println("拨打电话");
    }

}

3、方式三

public class MainActivity3 extends ActionBarActivity implements OnClickListener    //要实现OncickListener 这个接口
{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //找到该按钮
        Button btnCall=(Button)findViewById(R.id.btnCall);
        
        //按钮设置监听事件
        btnCall.setOnClickListener(this);
        
        
    }
 
    
    //方法
    public void Call()
    {
        System.out.println("拨打电话");
    }



    //实现OnclickListenr接口中的方法
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Call();
        
    }

}