大家好:)我在Parse数据库中存储我的Android应用程序的产品,并尝试在运行时加载它们。
我想在“完成”中创建一个LinearLayout
。下面的方法,但我不知道如何传递Context
构造函数中的LinearLayout
。我在构造函数的参数中添加了什么?
谢谢!
public class BrowseActivity extends Activity {
//do stuff here
@Override
protected void onCreate(Bundle savedInstanceState) {
/*Get all services and packages from parse database*/
ParseQuery<ParseObject> query = ParseQuery.getQuery("InAppProducts");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> parseObjects, ParseException e)
{
if(e == null)
{
/*Add products to page*/
//What do I put where "this" is?
LinearLayout layout = new LinearLayout(this);
}
else{
}
}
});
}
答案 0 :(得分:2)
尝试使用getApplicationContext()
或BrowseActivity.this
答案 1 :(得分:1)
您可以在此处使用BrowseActivity.this
或getBaseContext()
。但请不要像其他答案所示那样使用getApplicationContext()
。应该使用Activity上下文创建View,然后只会将其与Activity一起销毁并收集垃圾。
答案 2 :(得分:0)
Krishnabhadra是正确的,传递应用程序上下文不会让视图垃圾收集,即使活动被破坏。因此,请使用BrowseActivity.this或getBaseContext()来获取Activity上下文。