android 13 5种click事件不同实现方式 比较

第一种:不便于管理。

<Button
        android:id="@+id/btn_Gridlayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="用网格布局实现注册" 
        android:onClick="gridLayout"/>
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {//视图加载后第一个调用的方法,Activity自动创建,不能new,可以调用方法启动他,
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//设置Activity的布局,显示Activity的布局
        findViewById(R.id.rbFemale);//在R这个类的id这个内部类找这个值,然后找到这个id标识的东西,返回值是View
    }

    //onClick值是gridLayout的按钮的点击事件响应的方法
    public void gridLayout(View v){//v是点的按钮,view是所有控件的父类
        Log.i("main",((Button)v).getText().toString());
        setContentView(R.layout.gridlayout);
    }
}

第二种:匿名内部类,如果只是用一次则用这种,这不便于代码的复用。

第三种:有名内部类,代码有复用性。

第四种:Activity实现click接口,

 public void onClick(View v) {//View是所有布局的基类
        switch (v.getId()) {
        case R.id.btnLogin:
            Toast.makeText(this, "执行登陆操作", 2000).show();
            break;
        case R.id.btnExit:
            finish();
            break;
        }
    }
用于按钮很多,而且每个点击事件的代码不多的时候用,如果代码很多,把swith变的很大就不适合用了。
第五种:外部类,具有复用性,有利于代码的混淆。
posted @ 2015-10-16 00:07  无天666  阅读(268)  评论(0编辑  收藏  举报