好的程序、架构编写总结------/*自己编写*/

1. 监听器的编写及绑定有三种方法:

     1.1 基本方法,以一个按钮控件来举例,.xml布局文件中自定义按钮控件,其ID为mybut

     step1:

     public void OnCreate(Bundle savedInstanceState){

               super.OnCreate(savedInstanceState);

               super.setContentView(R.layout.send_main);

               this.mybut = (Button)super.findViewByid(R.id.mybut);

               this.mybut.setOnClickListener(new myListener());

     }

     step2:

     private class myListener implements OnClickListener{

               @Override

               public void onClick(View view){

                  ......   // 自己添加点击处理程序

               }

      }


     1.2 用匿名内部类的方法:

     public void OnCreate(Bundle savedInstanceState){

               super.OnCreate(savedInstanceState);

               super.setContentView(R.layout.send_main);

               this.mybut = (Button)super.findViewByid(R.id.mybut);

               this.mybut.setOnClickListener(new view.OnClickListener(){

               @Override     

               public void onClick(View view){

                    ......   // 自己添加点击处理程序 

                    }

               );

     }

    

    1.3 多按钮控件监听器统一绑定方法:

    step1:

     public void OnCreate(Bundle savedInstanceState){

               super.OnCreate(savedInstanceState);

               super.setContentView(R.layout.send_main);

               this.mybut1 = (Button)super.findViewByid(R.id.mybut1);

               this.mybut2 = (Button)super.findViewByid(R.id.mybut2);

               this.mybut3 = (Button)super.findViewByid(R.id.mybut3);


               mybut1.setOnClickListener(this);   //绑定第一个按钮

               mybut2.setOnClickListener(this);   //绑定第二个按钮

               mybut3.setOnClickListener(this);   //绑定第三个按钮

     }

     step2: 重构onClick函数

     @Override

     public void onClick(View view){

          switch(view.getId()){

         case R.id.mybut1:

              ......      //第一个按钮的处理程序

          break;

          case R.id.mybut2:

              ......      //第二个按钮的处理程序

          break;

          case R.id.mybut3:

              ......      //第三个按钮的处理程序

          break;

          }

     }

    上面是将多个控件注册在本地(this)的一个监听器上。也可以将多个控件注册在一个自定义的监听器上,如下图所示



2. 控件的动作监听器绑定可以不在OnCreate()方法中完成:

     当有很多控件时,控件的监听器绑定都放在OnCreate()方法中,会造成程序结构冗长,可读性差。用在布局管理器中指定动作处理函数的方法,可以解决此问题。

     2.1 在布局管理器(.xml)文件中定义控件时,添加其动作定义,如下:

     <Button 
        android:id="@+id/connectBT_Btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onMyButtonClick"
        android:text="@string/button_break"/>

     onMyButtonClick即为点击该button的处理函数。


     2.2 在主程序(.java)的类中添加该函数即可:

     public class MainActivity extends ActionBarActivity {

          @Override

          OnCreate(){....}

          @Override

          OnStart(){....}

          ......

          public void onMyButtonClick(View view){

                if (view.getId() == R.id.connectBT_Btn) {

                        ......     // 点击操作处理
                }

                // 其它控件的点击操作也可绑定到该函数,用view id区分即可

                if (view.getId() == R.id.xxxxxx) {

                         ......     // 其它控件点击操作处理
                }

                ......

          }

     }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值