我有一个自定义类,其中一个参数是一个按钮,我在类中放置一个OnClick函数,该函数应该使用外部信息才能工作。由于通过电话而不是主代码触发功能,我不知道如何指定要采取的信息(参数)。我该怎么做?
由于
答案 0 :(得分:3)
onClick()
方法有一个View
参数。您可以在视图上使用setTag()
来存储您可以使用点击处理程序中的getTag()
访问的任意对象。
答案 1 :(得分:1)
您可以使用对象标记视图,在对象中,您可以设置所需的值。 例如,如果你需要设置整数10,
setTag(10+"");
并在点击内,
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int number = Integer.parseInt(v.getTag().tostring());
}
});
答案 2 :(得分:0)
您无法向onClick方法添加自定义参数,但您可以创建自定义类并向其构造函数添加参数。例如:
private class MyClickListener implements View.OnClickListener {
private String myParam;
public MyClickListener(String param) {
myParam = param;
}
@Override
public void onClick(View view) {
// do whatever you want
}
}
如果您有此类,则可以通过以下方式设置onClick侦听器:
myView.setOnClickListener(new MyClickListener("test"));