2011-05-11 97 views
0

我有一个覆盖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); 
    } 
} 

但我仍然得到相同的错误。

由于提前,
马克

+0

什么是引发错误的代码。我对此感兴趣。 – Aliostad 2011-05-11 22:48:09

+0

任何使用MyClass实例的成员方法。 – mfirth 2011-05-11 22:50:59

+0

您能带来一个片段吗? – Aliostad 2011-05-11 22:52:26

回答

1

你正在做这样的事情TextView.method()调用textView.method(),其中的TextView是不是TextView的一个实例。该错误与您的帖子标题完全不符 - 这是相反的。

+0

我是一个数字,你当然是对的。这对我来说是正确的编码到枯竭的地步。我一看到今天早上就知道。 我创建了一个类,然后是该类的一个实例,然后在使用它时使用了类名而不是实例名。 (这只是提供静态方法,虽然标题说:) – mfirth 2011-05-12 17:53:41

0

确保你不打电话与TextView的方法。*在前面。

例如,不:

TextView.getWidth(); 

而是简单地说:

getWidth();