在自定义类中,我试图执行通过参数从外部给出的函数。
对我来说,重要的是不必存储对父类等的任何引用,只需要调用方法/函数。
我尝试将方法作为参数发送,但它无效。
class A
// var to store reference to external method
private Method myMethodReference; // (says error: never used)
// the setter to store the reference to the external method
public void setMethodReference(Method someMethod)
{
myMethodReference = someMethod;
}
public boolean someFunctionWithinMyClass()
{
// call the external method via my reference
myMethodReference(); // (says error: The method myMethodReference() is undefined)
}
此外,当我尝试从外部类设置对方法的引用时,它不起作用:
class B
public void someFunction() { Log.i("la", "la" };
instanceOfClassA.setMethodReference(someFunction); // (says error: variable someFunction not found)
因此,即使传递引用也不起作用,因为Eclipse假定someFunction是一个不在范围内的变量。
我希望这能更好地解释它!
答案 0 :(得分:0)
private Method onClick;
此上方行会产生错误....
您应该以这种方式创建或声明方法......
public onClick(){
}
或
public abstract onClick();
现在....您已调用onClick()
而未实施 onClick()
,导致错误。