我的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类传入)
答案 0 :(得分:4)
您是否尝试过使用getApplicationContext()
代替getContext()
?
这些链接可能有所帮助:
http://developer.android.com/reference/android/app/Activity.html
getApplication() vs. getApplicationContext()
Difference between getContext() , getApplicationContext() , getBaseContext() and "this"
答案 1 :(得分:0)
您可以将上下文作为参数来传递
,而不是传递MainActivitypublic 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);
^^^^^^
如果它在内部类中,则应为this
或MainActivty.this
。