监听按钮的点击事件

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

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

        /**
         * 1.经过findViewById---返回的时一个View的对象,由于是返回类型是View,因此须要强制转换
         * 2.R指的是R.java,该文件包含了因此id控件
         **/
        loginButton = (Button) findViewById(R.id.button1);

        /*
         *1.监听事件经过第一种方式实现(匿名内部类)
         */
//        loginButton.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                System.out.println("点击方法--匿名内部类");
//            }
//        });

        /*
         *2.监听事件经过第二种方式实现(外部类)
         */
//         loginButton.setOnClickListener(new MyOnclickListener(){
//             @Override
//             public void onClick(View v) {
//                 super.onClick(v);
//                  Toast.makeText(MainActivity.this,"外部类--改变透明度",Toast.LENGTH_SHORT).show();
//             }
//         });


       // loginButton.setOnClickListener(listener);

        /*
        * 3.监听事件经过第二种方式实现(接口)
        *
        * 为何这里用this就能够了呢,由于咱们在上面实现了OnClickListener接口,咱们只须要编辑生成的onClick方法便可
        * */
        loginButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this,"点击方法--实现接口",Toast.LENGTH_SHORT).show();
    }


    //另一种写法
//    View.OnClickListener listener = new View.OnClickListener() {
//        @Override
//        public void onClick(View v) {
//            Toast.makeText(MainActivity.this,"外部类--改变透明度",Toast.LENGTH_SHORT).show();
//        }
//    };


}

/*
*  OnClickListener是一个接口,因此只能用implements 而不能用extens继承
*/
class MyOnclickListener implements View.OnClickListener{

    @Override
    public void onClick(View v) {
        v.setAlpha(0.5f);
    }
}
相关文章
相关标签/搜索