java Android:是否可以直接从setOnClickListener()调用方法?
我正在动态创建一些按钮,理想情况下,如果按下按钮,我希望能够运行一个方法
这样的事情可能吗
private void someMethod(int ID){
//on button pressed do something with the ID
}
private void otherMethod(){
for( Program element : someList)
{
addButton.setOnClickListener(someMethod(element.getID));
}
}
显然,这只是一些代码的模型来说明我的问题。我知道你可以实例化一个新的类,所以看起来你应该能够调用一个方法,尽管到目前为止我只是在尝试中不断出错
我在网上浏览了一下,但找不到任何答案,所以我想在这里问一下
# 1 楼答案
setOnClickListener
定义单击按钮时会发生什么。为同一个按钮设置多次是没有意义的;最后一个设置将是活动的要调用侦听器中的方法,请声明匿名类重写:
如果您试图设置具有类似功能的多个按钮,则需要循环使用按钮(例如,在列表中),并设置每个按钮的
OnClickListener
。要实现每个按钮的不同变量,可以使用View
的tag:现在,您只需将XML(或manually)中
Button
的tag
属性设置为您想要的任何值,它就会被传递到侦听器(以及方法)