首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大Nerd Ranch Android使用匿名内部类为侦听器?

大Nerd Ranch Android使用匿名内部类为侦听器?
EN

Stack Overflow用户
提问于 2015-01-11 19:16:44
回答 1查看 110关注 0票数 0

这通常是一个好做法吗?

我正在学习教程,并了解了按钮侦听器正在实现的部分:

代码语言:javascript
复制
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_quiz);

        mTrueButton = (Button) findViewById(R.id.true_button);

        //and here is the anonymous inner class
        mTrueButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
    }

我学习这种风格更好吗?还是为了良好的实践,我还有其他的学习方法呢?这似乎与我对OOP的基本理解有一点不同.分离和模块化,如果这是有意义的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-11 19:19:34

是的,我通常更喜欢另一种方法(特别是在大型项目中),您的类可以实现侦听器。

这样你的Activity/Fragment就可以这样声明了

public class MyActivity implements View.OnClickListener{

视图对象(在本例中为按钮)将以这种方式设置它的侦听器

mTrueButton.setOnClickListener(this)

然后,您将有另一个名为onClick()的类,所有可单击的视图元素现在都可以有它们的代码了。

代码语言:javascript
复制
@Override
public void onClick(View v){

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

          break;
     }


}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27891039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档