单独onclick为Android中同一类的每个按钮

时间:2016-05-31 16:52:49

标签: android class onclick

问题如下......我用一个按钮和一些东西围绕它做了一个课。现在我可以通过创建对象将此按钮添加到屏幕。例如:

FloatingButton button = new FloatingButton();

我在主要活动中做了3次。因此,我现在有3个按钮。问题是我想为每个按钮添加一个不同的onclick事件。因此,如果我在FloatingButton类中添加onclick事件,则每个Button都会执行相同的操作。所以我需要从主要活动中设置onclick事件。这可能吗?

3 个答案:

答案 0 :(得分:1)

setOnClickListener允许您在任何有权访问该按钮的位置直接添加点击监听器。因此,在您的情况下,您可以在实例化活动中的每个按钮后添加一个侦听器。

示例:

button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                }
            })

答案 1 :(得分:0)

您可以继续使用一个点击监听器,并且可以检查视图的ID。

  final OnClickListener listener = new View.OnClickListener() {

  @Override
  public void onClick(View v) {
    switch (v.getId()){
      case R.id.button_1:
        doButtonOne()
        break;
      case R.id.button_2:
        doButtonTwo()
        break;
        ...
    }
  }
};

答案 2 :(得分:0)

创建按钮时,您是否以不同方式命名?

FloatingButton buttonYes = new FloatingButton();
FloatingButton buttonNo = new FloatingButton();

然后对您使用按钮按下时要执行的代码创建的每个按钮使用setOnClickListener。

buttonYes.setOnClickListener(...)
buttonNo.setOnClickListener(...)

这将使您能够按下不同的按钮产生不同的结果。