Java 为什么我会得到;类型MainActivity“的getContext()方法未定义;?
我的MainActivity扩展了activity,我在另一个类中使用了Java 为什么我会得到;类型MainActivity“的getContext()方法未定义;?,java,android,Java,Android,我的MainActivity扩展了activity,我在另一个类中使用了getContext(),该类传入了MainActivity的实例,并且在那里工作正常,我的代码: convertView = LayoutInflater.from(parent.getContext()) .inflate(R.layout.nowview, parent, false); 类构造函数: public PictureCard(String url,
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类传入)您是否尝试过使用
getApplicationContext()
而不是getContext()
这些链接可能有助于:
您可以将上下文作为如下参数传递,而不是传递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);
如果
maincactivty
扩展了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);
^^^^^^
它应该是
this
,或者MainActivity。如果它在一个内部类中,那么它应该是this
。如果您发布该类的方法签名和方法调用,这将很有帮助OK updated,很抱歉缺少详细信息相同的问题“类型MainActivity的方法getActivityContext()未定义”getcontext的所有形式都会导致某种错误,奇怪的是,我在另一个类中使用相同的传入和父级声明运行相同的代码,并且可以正常工作?然后我得到“类型LayoutFlater中的方法inflate(int、ViewGroup、boolean)不适用于参数(int、MainActivity、boolean)”抱歉,我意识到我说错了,我从MainActivity调用的类中调用了这个类,但是为什么eclipse会给我这个错误,我正确地创建了var,我想我会尝试一下,我只是不明白为什么我所做的是在一个类中工作,而不是在另一个类中工作