【问题标题】:Two buttons with same id and same behavior in androidandroid中具有相同ID和相同行为的两个按钮
【发布时间】:2019-11-19 11:19:20
【问题描述】:

我想将两个按钮导航到同一个类。在一个 XML 中,我有两个按钮,它们的工作方式应该相同。我怎样才能做到这一点?

【问题讨论】:

  • 你不能在同一个 XML 中使用同一个 id。同样的行为是什么意思?
  • 为两个按钮添加相同的监听器。

标签: android android-button


【解决方案1】:

onClick事件中定义两个不同id的按钮并指向同一个函数

<Button
    android:id="@+id/button1"
    android:onClick="executeSameBehavior"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button1" />

<Button
    android:id="@+id/button2"
    android:onClick="executeSameBehavior"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button2" />

然后在这里实现你的逻辑:

public void executeSameBehavior(View view) {
    // Your logic
}

【讨论】:

    【解决方案2】:

    您可以简单地将一个clickListener接口分配给setOnClickListeners

    Button a = findViewById(R.id.a);
    Button b = findViewById(R.id.b);
    
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // Something for both
        }
    };
    
    a.setOnClickListener(listener);
    b.setOnClickListener(listener);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      相关资源
      最近更新 更多