首页 > 技术文章 > Android实现接口方式注册监听器

flypie 2015-11-30 18:47 原文

 
初学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.button);
            button.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

 
// 在此处添加逻辑 }
 
}); }
 
}
 
这样虽然方便,但当监听方法较多时会导致结构混乱,
下面是实现接口方式注册监听器:
 
  public class MainActivity extends Activity implements OnClickListener {
        private Button button;

        @Override
        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            button = (Button) findViewById(R.id.button);
            button.setOnClickListener(this);

}

        @Override
        public void onClick(View v) {

            switch (v.getId()) {
            case R.id.button:

// 在此处添加逻辑

                break;
            default:

break; }

 
} }
 
这样即使监听方法较多时结构也较为清晰。
 

推荐阅读