类型<type>中的方法调用(Activity)不适用于参数(new View.OnClickListener(){})</type>

时间:2011-02-24 17:26:15

标签: android

在黑暗中摸索......这次我在Eclipse中收到以下错误:

  

类型中的方法调用(Activity)   IntentsUtils不适用于   争论(新的   View.OnClickListener(){})

此错误是指连接到按钮的回调中的call()行,在扩展Activity的类中:

public class UnderstandingIntents extends Activity {
    ...
    ...
    ...
    // A call-back for when the user presses the testintents button.
    OnClickListener mTestIntentsListener = new OnClickListener() {
        public void onClick(View v) {
        IntentsUtils.call(this);
        }
    };
}

IntentsUtils是从listing 3-33 here逐字复制的类。

这个错误是什么意思?

3 个答案:

答案 0 :(得分:5)

这里的问题是你试图在匿名内部类中引用Activity类(UnderstandingIntents),因此当你说“this”时它引用了View.OnClickListener(){}

要更正此问题,请执行以下代码:

IntentsUtils.call(UnderstandingIntents.this); 

这样,您的Activity类就会被引用。

答案 1 :(得分:2)

传递给this的{​​{1}}参数指的是使用它的对象,在本例中是IntentsUtils.call()的实例。尝试将OnClickListener参数替换为this

UnderstandingIntents.this

答案 2 :(得分:1)

试试这个

IntentsUtils.call(UnderstandingIntents.this);