安卓开发 一行代码为根布局下所有按钮设置监听

//为根布局下所有按钮设置监听

public void setOnClickListenerAllButtons(View.OnClickListener listener)

{

  //获取根布局

  ViewGroup group = (ViewGroup)((ViewGroup)findViewById(android.R.id.content)).getChildAt(0);

    setOnClickListenerAllButtons(group,listener);

}

 

//为所有按钮设置监听

private void setOnClickListenerAllButtons(View view,View.OnClickListener listener) {


  List<View> allchildren = new ArrayList<View>();


  if(view instanceof Button)

  {

  if(view.getId()!= -1)

  view.setOnClickListener(listener);

  }

  else if(view instanceof ImageButton)

  {

  if(view.getId()!=-1)

  view.setOnClickListener(listener);

  }

 

  else if (view instanceof ViewGroup) {


  ViewGroup vp = (ViewGroup) view;


  for (int i = 0; i < vp.getChildCount(); i++) {


    View viewchild = vp.getChildAt(i);


    setOnClickListenerAllButtons(viewchild,listener);


  }


  }




}



调用方法:

setOnClickListenerAllButtons(onClickListener);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我是大饼脸阅读 3,437评论 4 16
  • 期末考完试,我以为就可以好好玩了,不用每天担心作业的问题了,妈妈把我送回了姥姥家.忽然一天,妈妈和我说要每天...
    全恩铭阅读 4,367评论 0 0
  • 昨天到北京太晚 今天就没上班休息了一天 明天上班 新的一年 好好工作 加油
    呵呵_206a阅读 1,072评论 0 0
  • 最近很忙,忙着做兼职,忙着写稿子,忙着做一切没有意义的事情。我怎么会变成这个样子? 我整日用一张傻乎乎的笑脸去迎合...
    肆玖兮阅读 1,306评论 0 0
  • 今天抽空陪着孩子同学去看牙,晚上回来和爱人商量,怎样解决问题,因为孩子牙齿还没有长好,得等一年或两年才能补...
    袁瑞红阅读 663评论 0 0