问题如下......我用一个按钮和一些东西围绕它做了一个课。现在我可以通过创建对象将此按钮添加到屏幕。例如:
FloatingButton button = new FloatingButton();
我在主要活动中做了3次。因此,我现在有3个按钮。问题是我想为每个按钮添加一个不同的onclick事件。因此,如果我在FloatingButton类中添加onclick事件,则每个Button都会执行相同的操作。所以我需要从主要活动中设置onclick事件。这可能吗?
答案 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(...)
这将使您能够按下不同的按钮产生不同的结果。