【问题标题】:Is Using Different Names for onClick methods for Different buttons a good coding style?对不同按钮的 onClick 方法使用不同的名称是一种好的编码风格吗?
【发布时间】:2015-06-19 20:55:39
【问题描述】:

我没有对一个Activity中的所有按钮都使用一个onClick()方法,然后使用switch语句来判断哪个按钮被点击了,我在不同的按钮设置了不同的方法 android:onClick XML 参数。例如,对于一个按钮,我将 onClick 参数设置为 onClickCalculateButton 对于另一个按钮,我将 onClick XML 参数设置为 onClickNewFileButton

这是一种好的编码习惯吗?

【问题讨论】:

    标签: android coding-style


    【解决方案1】:

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

    对于不是直截了当的按钮(不在活动/片段中)并且不能与 ButterKnife 一起使用,我没有在 XML 中设置点击侦听器,而是在特定类(活动/片段/其他)中使用 switch 实现它-case 再参考具体方法。

    switch(view.getId()){

    案例 R.id.button_one:

    clickOnButtonOne(视图);

    休息; ...

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

    @OnClick(R.id.button)

    【讨论】:

      【解决方案2】:

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

      我遵循与命名相同的约定,但我为 Activity 或 Fragment 中的每个按钮创建单独的 onClickListener 类。让我可以更轻松地跟踪哪个按钮执行了哪些操作,因为我可以通过 Android Studio 从 onCreate 跟踪其源代码。

      但是,您使用 XML 标记的原因可能与我创建更少代码的原因相同。如果是这种情况,我会考虑使用 ButterKnife (http://jakewharton.github.io/butterknife/)。它使用注解来生成以后需要的代码,而且超级干净。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-31
        相关资源
        最近更新 更多