zoukankan      html  css  js  c++  java
  • 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变的很大就不适合用了。
    第五种:外部类,具有复用性,有利于代码的混淆。
  • 相关阅读:
    ASP.NET Core 个人新闻项目
    C# 检查字符串中是否有HTML标签、返回过滤掉所有的HTML标签后的字符串
    VueCLI 页面加载进度条效果
    replace() 方法使用
    CentOS 7.9安装教程
    在Windows中安装MySQL
    linux安装consul
    jenkins Skywalking安装部署文档总结
    CentOS 7.x安装.NET运行时
    Apollo部署文档
  • 原文地址:https://www.cnblogs.com/yaowen/p/4884033.html
Copyright © 2011-2022 走看看