• Android按钮单击事件的两种常用写法


    这篇文章主要介绍了Android按钮单击事件的两种常用写法总结,有不错的参考借鉴价值,需要的朋友可以参考下

    以下是我定义的一个按钮

    <Button
             android:id="@+id/but"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_alignParentLeft="true"
             android:layout_alignParentTop="true"
             android:text="Button" />

    一:用匿名内部类的方法实现

    MainActivity.java:

    public class MainActivity extends Activity {
        private Button but;//定义变量保存按钮控件
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            but = (Button) findViewById(R.id.but);//通过id获取按钮控件
            but.setText("请点击");//修改按钮上的内容
            but.setOnClickListener(new OnClickListener() {//为按钮绑定单击事件监听器
                //匿名内部类
                public void onClick(View v) {
                    //makeText方法的三个参数(上下文对象,显示的内容,显示的时长).显示
                    Toast.makeText(MainActivity.this,"你好",Toast.LENGTH_LONG).show();
          }
      }); 
    }

    二:定义实现OnClickListener接口的类

    ButOnClickListener.java:

    public class ButOnClickListener implements OnClickListener{
        //实现OnClickListener接口
        private Context context;//定义context变量保存上下文对象
        //定一个构造函数,用作传递上下文对象
        public ButOnClickListener(Context context){
            this.context = context;
        }
        //实现OnClickListener接口未实现的方法
        public void onClick(View v) {
            Toast.makeText(context,"你好",Toast.LENGTH_LONG).show();   
        } 
    }

    MainActivity.java:

    public class MainActivity extends Activity {
        private Button but;//定义变量保存按钮控件
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
             but = (Button) findViewById(R.id.but);//通过id获取按钮控件
            but.setText("请点击");//修改按钮上的内容
            but.setOnClickListener(new ButOnClickListener(this));//将当前的Activity传递过去
     }

    以上两个例子的运行效果

    希望本文所述对大家Android程序开发有所帮助。

  • 相关阅读:
    CF 118E Bertown roads 桥
    hdu 3917 Road constructions 最大权闭合子图
    hdu 4714 Tree2cycle 树形经典问题
    POJ 2516 Minimum Cost 最小费用流
    POJ 3921 Destroying the bus stations 沿着最短路迭代加深搜索
    POJ 3422 Kaka's Matrix Travels K取方格数
    BZOJ 3083: 遥远的国度 dfs序,树链剖分,倍增
    hdu 4010 Query on The Trees LCT
    poj 2455 Secret Milking Machine 二分+最大流 sap
    定制标记---简单标记处理器
  • 原文地址:https://www.cnblogs.com/zhaoyucong/p/6073763.html
Copyright © 2020-2023  润新知