Android按钮点击事件的捕获

一.匿名内部类

1.初始化所有控件

  private Button loginButton;

2.findViewById 返回一个View对象

loginButton = (Button) findViewById(R.id.button);//转换方法的结果为Button类

2.设置监听器,通过监听器实现点击时需要的方法

loginButton.setOnClickListener(new OnClickListener()
        {
            
            @Override
            public void onClick(View arg0) {//在当前OnClick方法中监听点击Button的动作
                // TODO Auto-generated method stub
                func();//点击时的操作
            }
        }
        );
    }

二.外部类

1.2.步同匿名内部类,初始化所有控件,通过findViewById方法并转换得到Button对象

3.定义外部类
不继承OnClickListener——其为接口而非方法

    class MyOnClickListener implements OnClickListener{
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            funcAll();//所有的点击时间都要执行的方法
        }       
    }

4.为Button定义自己的方法

        loginButton = (Button) findViewById(R.id.button);
        loginButton.setOnClickListener(new MyOnClickListener()
            {
                @Override
                public void onClick(View v){
                    super.onClick(v);//父类方法,即使用MyOnClickListener的所有点击都要执行的方法
                    funcSpecial();//该按钮需要执行的特定方法
                }
            }
        );

三.接口方式实现
1,2步同一

3.在当前的类上实现对应的接口

public class MainActivity extends Activity implements OnClickListener{

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        func();//该按钮需要执行的方法
    }
}

4.编写执行方法需要的代码

        loginButton = (Button) findViewById(R.id.button);
        loginButton.setOnClickListener(this);

通过this访问当前类下的接口对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,679评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,921评论 0 17
  • 今天冲动了,明明一堆破事儿压在那里,自己还装大爷去市中心耗费了五个小时,对此,我很痛心。 不过,另一方面想,我可能...
    浅浅地jianjian阅读 1,351评论 0 0
  • 我们即将去往国防基地,一位十分帅气的少将军衔的叔叔带领我们,坐上大巴车的那一刻,我心里感到无比激动。 在...
    DIS鱼阅读 3,717评论 0 2
  • 茶会凉阅读 2,361评论 0 0

友情链接更多精彩内容