是否有可能一个按钮被点击时的参数传递给听众:调用setOnClickListener时传递参数?
protected void onCreate(Bundle savedInstanceState) {
....
String myArg = "Hello";
Button button1 = (Button)findViewById(R.id.myButton);
button1.setOnClickListener(myListener);
String myArg = "Goodye";
Button button2 = (Button)findViewById(R.id.myOtherButton);
button2.setOnClickListener(myListener);
}
OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// print the value from the passed in argument myArg
Log.v("TEST", myArg);
}
};
这只是一个例子,而不是什么其实我wan't做了反映,但它确实说明了问题。
基本上我想在myArg传递给所以当按钮被点击它进入myArg变量听众。
我知道我能做到这一点作为一个内联匿名类,但我将有很多按钮和点击逻辑是所有的人都一样。我需要这个参数,因为每个按钮都会有所不同。
仅供参考:我真正的用法要求参数是一个View对象。
当你需要的变量约束?换句话说,你什么时候才能确定你想让'onClickListener()'有权访问的变量的值? – 2012-02-09 14:25:12