button单击事件的四种写法

Button单击事件的四种写法:


    1、第一种写法:匿名内部类

    附上代码:

    

public class MainActivity extends Activity{

        

        private Button btn ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn = (Button) findViewById(R.id.btn) ;

//第一种写法:匿名内部类

                btn.setOnClickListener(new View.OnClickListener() {


                    @Override

                    public void onClick(View v) {

                        Toast.makeText(MainActivity.this, "我弹出来了", 0).show() ;

                    }

                }) ;

        }

}


    2、创建内部类

public class MainActivity extends Activit{

        

    private Button btn ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn = (Button) findViewById(R.id.btn) ;


btn.setOnClickListener(new MyListener() ) ;

}


    class MyListener implements View.OnClickListener{


@Override

        public void onClick(View v) {

            Toast.makeText(MainActivity.this, "我弹出来了哈哈", 0).show() ;

        }

    }

}

    3、用窗体实现监听器


public class MainActivity extends Activity implements View.OnClickListener {

        

        private Button btn ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn = (Button) findViewById(R.id.btn) ;

//第三种:用窗体实现监听器

                btn.setOnClickListener(this) ;

}


@Override

public void onClick(View v) {

Toast.makeText(MainActivity.this, "哈哈,我来了", 0).show() ;

}

}

    4、通过属性声明


public class MainActivity extends Activity{

        

        private Button btn ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn = (Button) findViewById(R.id.btn) ;


            }

//第四种: 通过属性声明

public void click(View view){

Toast.makeText(MainActivity.this, "哈哈哈哈哈", 0).show() ;

}

}


以上有背景色的部分为各种方法的关键代码。