为什么我得到“方法getContext()未定义类型MainActivity”?

时间:2013-05-18 05:45:58

标签: java android

我的MainActivity扩展了活动,我在另一个传入了MainActivity实例的类中使用了getContext(),它在那里工作正常,我的代码:

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类传入)

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

您可以将上下文作为参数来传递

,而不是传递MainActivity
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);

答案 2 :(得分: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