監聽按鈕的點擊事件

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);
    }
}
相關文章
相關標籤/搜索