点击事件的四种写法

 public class MainActivity extends Activity implements OnClickListener {

    private Button button1,button2,button3,button4;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1 = (Button) findViewById(R.id.button1);//button1使用xml中onclick属性
        button2 = (Button) findViewById(R.id.button2);//button2使MainActivity实现OnClickListener接口
        button3 = (Button) findViewById(R.id.button3);//button3使用内部类实现OnClickListener接口
        button4 = (Button) findViewById(R.id.button4);//button4使用匿名内部类

        button2.setOnClickListener(this);
        button3.setOnClickListener(new MyOnclickListener());

        //方式4:使用匿名内部类
        button4.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Second.class);
                startActivity(intent);
            }
        });
    }

    //方式1:xml中button的onclick属性写点击方法
    public void click(View view){//xml中onclick属性名与该方法名一致
        Intent intent = new Intent(MainActivity.this,Second.class);
        startActivity(intent);
    }



    //方式2:使MainActivity实现OnClickListener接口
    public void onClick(View v) {

        switch (v.getId()) {
        case R.id.button2:
            Intent intent = new Intent(MainActivity.this,Second.class);
            startActivity(intent);
            break;

        default:
            break;
        }
    }
    //方式3:使用内部类实现OnClickListener接口
    public class MyOnclickListener implements OnClickListener{

        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(MainActivity.this,Second.class);
            startActivity(intent);
        }

    }
}

你可能感兴趣的:(安卓开发之旅)