覆盖类仅提供静态方法
问题描述:
我有一个覆盖TextView的类,但是如果我尝试使用我的类或TextView的任何成员函数,我会在Eclipse中获得一条错误消息,指出“无法对非静态方法## MEMBER FUNCTION ##从类型View“。其中## MEMBER FUNCTION ##是我正在调用的方法,即setLayoutParams(ViewGroup.LayoutParams)。如果我查看建议对话框,只提供静态方法。覆盖类仅提供静态方法
我也试过把我的课下来;
import android.widget.TextView;
public class MyClass extends TextView {
public MyClass(Context context) {
super(context);
}
}
但我仍然得到相同的错误。
由于提前,
马克
答
你正在做这样的事情TextView.method()调用textView.method(),其中的TextView是不是TextView的一个实例。该错误与您的帖子标题完全不符 - 这是相反的。
+0
我是一个数字,你当然是对的。这对我来说是正确的编码到枯竭的地步。我一看到今天早上就知道。 我创建了一个类,然后是该类的一个实例,然后在使用它时使用了类名而不是实例名。 (这只是提供静态方法,虽然标题说:) – mfirth 2011-05-12 17:53:41
答
确保你不打电话与TextView的方法。*在前面。
例如,不:
TextView.getWidth();
而是简单地说:
getWidth();
什么是引发错误的代码。我对此感兴趣。 – Aliostad 2011-05-11 22:48:09
任何使用MyClass实例的成员方法。 – mfirth 2011-05-11 22:50:59
您能带来一个片段吗? – Aliostad 2011-05-11 22:52:26