• 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程序开发有所帮助。

  • 相关阅读:
    为经典版eclipse增加web and JavaEE插件
    类型之间进行隐式和显示转换&创建使用枚举&创建使用结构类型&创建使用数组&;如何处理字符串值
    VS2013秘钥
    VS2013快捷键大全
    2016年4月20日开会学习
    随机验证码.ashx
    关于代码开发的一些心得
    C#list泛型的定义,作用,用法
    String,StringBuffer与StringBuilder的区别??
    C# DataTable的详细用法
  • 原文地址:https://www.cnblogs.com/zhaoyucong/p/6073763.html
Copyright © 2020-2023  润新知