2013-05-18 56 views
3

我的MainActivity扩展活动,我已经在通过MainActivity的实例其他类使用getContext()并能正常工作在那里,我的代码:为什么我得到“方法getContext()未定义类型MainActivity”?

convertView = LayoutInflater.from(parent.getContext()) 
          .inflate(R.layout.nowview, parent, false); 

类的构造函数:

public PictureCard(String url, String title, int index, 
              int pos, MainActivity parent) 
{ 
    this.parent = parent; 
    // ... 
} 

我如何打电话类

Card newCard = new PictureCard(links.get(index) , titles.get(index), 
                index, position, parent); 

(父从在MainActivity类传入,因为这)

+1

如果您发布类的方法签名和方法调用这将有助于 – stinepike

+0

行更新,对不起缺乏细节 – Osman

回答

4
+0

同一问题的“方法getActivityContext()是未定义的类型MainActivity” – Osman

+0

一切形式的getContext的导致某种错误,这很奇怪,这是我运行相同的代码在另一个类与父母的相同传入和声明,它的作品? – Osman

0

不是传递MainActivity的,你可以通过上下文参数LIK这

public PictureCard(String url, String title, int index, int pos, Context parent) 

,并呼吁像

Card newCard = new PictureCard(links.get(index) , titles.get(index), index, position, MainActivity.this); 
+0

我想我会尝试,我只是困惑,为什么我正在做的是在一个类而不是另一个 – Osman

0

如果MainActivty延伸Activty,那么就使用parent作为背景:

convertView = LayoutInflater.from(parent) 
         .inflate(R.layout.nowview, parent, false); 

而且,我怀疑你在这里传递错误的实例:

Card newCard = new PictureCard(links.get(index) , titles.get(index), 
               index, position, parent); 
                   ^^^^^^ 

如果它在内部类中,它应该是thisMainActivty.this

+0

然后我得到“方法膨胀(INT,ViewGroup,布尔)在类型LayoutInflater不适用于参数(int,MainActivity,布尔值)“ – Osman

+0

对不起,我意识到我错过了我从MainActivity调用这个类调用这个类,但仍然为什么日食会给我这个错误,我创建了var – Osman

相关问题