【问题标题】:Android OnClickListener multiple views? [duplicate]Android OnClickListener 多个视图? [复制]
【发布时间】:2016-09-15 10:50:10
【问题描述】:

OnClickListener 最佳实践?

如果您有一个 Activity 和 10 个按钮,那么最佳实践是应该为每个 View (Button) 创建 OnClickListener 还是创建单个 onClickListener 更好?只需使用带有视图 ID 的switch 来确定点击的View

【问题讨论】:

  • 您可以将相同的单击事件处理程序分配给布局中的多个视图。然后在方法中,检查 which 是触发事件的 View。
  • 你可以选择第二个选项(1 个监听器和开关)
  • 如果可能的话,不要投票指导其他人

标签: android onclicklistener


【解决方案1】:
@Override
public void onClick(View v) {
   switch (v.getId()) {
      case R.id.btn_1:
         //Logic_1
      break;
      case R.id.btn_2:
         //Logic_2
      break;
   }
}

【讨论】:

    【解决方案2】:

    我知道你知道代码,所以我只能说:

    Switch 更好 case 或 switch 语句被认为更易于阅读和维护

    缩进级别比 if 更容易管理。

    【讨论】:

    • 这可能是唯一的答案,我知道代码并且没有要求示例,而只是在实践中什么是更好的选择。感谢您的一些实际建议!
    • 我很乐意为您提供帮助。谢谢。
    【解决方案3】:

    如果你在 Google 或 StackOverflow 中搜索一下..

    Multiple Buttons `OnClickListener()` android

    最好的解决方案是切换:

    @Override
    public void onClick(View v) {
    
        switch (v.getId()) {
    
            case R.id.oneButton:
                // do your code
                break;
    
            case R.id.twoButton:
                // do your code
                break;
    
            case R.id.threeButton:
                // do your code
                break;
    
            default:
                break;
        }
    
    }
    

    【讨论】:

      【解决方案4】:

      你可以使用任何你喜欢使用的东西,因为作为计算点两者都是相同的,但是如果你想对你的代码行进行排序,那么使用带有 switch case 的信号

      参考见这个 Multiple Buttons `OnClickListener()` android

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多