在Android开发中,对控件的操作是最基本的技术,尤其是对按钮的点击操作。我以下总结了4种按钮点击的实现方式。与大家分享,希望大家批评指正。

(1)匿名内部类实现

这种方式是最简单的实现,一般刚开始学习Android或者学习基于用户界面的开发,该方法是必学的。实现代码如下:

public class MainActivity extends Activity {    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button = (Button) findViewById(R.id.id_btn);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this, "按钮被点击了", Toast.LENGTH_LONG).show();            }        });    }}

(2)Activity实现OnClickListener接口

使用该种方法,就是在当前Activity中implements View.OnClickListener.然后实现接口中未实现的方法。具体对按钮的操作或者业务逻辑在onClick()中实现,实现代码如下:

public class MainActivity extends Activity implements View.OnClickListener {    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button = (Button) findViewById(R.id.id_btn);        button.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.id_btn:                Toast.makeText(MainActivity.this, "按钮被点击了", Toast.LENGTH_LONG).show();                break;            default:                break;        }    }}

(3)内部类实现OnClickListener接口

该方法就是在当前Activity主类中新建一个内部类,该内部类实现OnClickListener。思路同方法二。实现代码如下:

public class MainActivity extends Activity {    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button = (Button) findViewById(R.id.id_btn);        MyClick myClick = new MyClick();        button.setOnClickListener(myClick);    }    class MyClick implements View.OnClickListener {        @Override        public void onClick(View v) {            switch (v.getId()) {                case R.id.id_btn:                    Toast.makeText(MainActivity.this, "按钮被点击了", Toast.LENGTH_LONG).show();                    break;            }        }    }}

(4)注解方式:参考我的另一篇博客(使用ButterKnife注解框架实现View的点击操作):http://blog.csdn.net/chenyufeng1991/article/details/46901101


github主页:https://github.com/chenyufeng1991 。欢迎大家访问!

更多相关文章

  1. JavaDoc不显示 &Android中HttpGet和HttpPost &JSONObject
  2. Android(安卓)Fragment的使用
  3. Android(安卓)绘图基础:Canvas,Paint,RectF,Paint类
  4. Android(安卓)ndk入门准备--hello jni
  5. Android笔记---常用控件以及用法
  6. Adroid 使用AIDL和远程服务实现进程通信
  7. Android(安卓)源码详解:View的事件分发机制
  8. Android用户界面开发(10):Button
  9. Android-动画实现原理

随机推荐

  1. ORMLite简介和增删改查方法的使用
  2. Android(安卓)Ble蓝牙开发内存泄漏
  3. 配置android模拟器加速(虚拟化加速)
  4. 10.Binder进阶:系统服务中的Binder
  5. Android(安卓)Jetpack 之 App Startup
  6. Android下Affinities和Task!!!!!!!!!!!!
  7. Android(安卓)小功能之 TextView 只设置
  8. Android(安卓)MVP架构
  9. 面试 Google, 我失败了 | Google 面经分
  10. 面试必备:Android(安卓)Activity启动流程