为不同的按钮使用不同的名称onClick方法是一个良好的编码风格?

时间:2015-06-19 20:55:39

标签: android coding-style

不是对Activity中的所有按钮使用单个onClick()方法,然后使用switch语句来确定单击了哪个按钮,而是为不同的按钮设置了不同的方法。 android:onClick XML参数。例如,对于一个按钮,我将onClick参数设置为onClickCalculateButton 对于另一个按钮,我将onClick XML参数设置为onClickNewFileButton

这是一个很好的编码实践吗?

2 个答案:

答案 0 :(得分:2)

在这种情况下没有真正的惯例。我见过优秀的程序员这样或那样做,我猜大多数人都同意。

对于不直接的按钮(不在activity / fragment中)并且不能与ButterKnife一起使用我没有在XML中设置click侦听器而是在具有switch的特定类(activity / fragment / whatever)中实现它-case然后参考具体方法。

  

switch(view.getId()){

     

案例R.id.button_one:

     

clickOnButtonOne(视图);

     

中断; ...

对于我知道其生命周期(在片段/活动中)的按钮,我使用ButterKnife并使用它注释(

  

@OnClick(R.id.button)

答案 1 :(得分:0)

我会避免在XML中使用android:onClick param。随着项目变得越来越大,管理变得更加困难,尤其是在处理碎片时。

我遵循您为命名所做的相同约定,但我为Activity或Fragment中的每个按钮创建了单独的onClickListener类。通过onCreate,我可以更轻松地跟踪哪个按钮可以通过Android Studio跟踪其来源。

但是,您可能正在使用XML标记的原因与创建较少代码的原因相同。如果是这种情况,我会考虑使用ButterKnife(http://jakewharton.github.io/butterknife/)。它使用注释来生成所需的代码,并且非常干净。