Java 传递给LinearLayout构造函数的内容
大家好:)我正在将我的android应用程序的产品存储在一个解析数据库中,并试图在运行时加载它们 我想在下面的“完成”方法中创建一个Java 传递给LinearLayout构造函数的内容,java,android,parse-platform,android-linearlayout,Java,Android,Parse Platform,Android Linearlayout,大家好:)我正在将我的android应用程序的产品存储在一个解析数据库中,并试图在运行时加载它们 我想在下面的“完成”方法中创建一个LinearLayout,但我不确定如何在LinearLayout构造函数中传递上下文。我应该在构造函数的参数中输入什么 谢谢大家! public class BrowseActivity extends Activity { //do stuff here @Override protected void onCreate(Bundle
LinearLayout
,但我不确定如何在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{
}
}
});
}
公共类浏览活动扩展活动{
//在这里做事
@凌驾
创建时受保护的void(Bundle savedInstanceState){
/*从parse数据库获取所有服务和包*/
ParseQuery=ParseQuery.getQuery(“InAppProducts”);
findInBackground(新的FindCallback(){
@凌驾
public void done(列出parseObjects,parsee异常)
{
如果(e==null)
{
/*将产品添加到页面*/
//我应该把“这”放在哪里?
LinearLayout布局=新的LinearLayout(本);
}
否则{
}
}
});
}
尝试使用getApplicationContext()
或BrowseActivity。您可以使用BrowseActivity。此处为或getBaseContext()
。但请不要使用getApplicationContext()
如其他答案所示。视图应使用活动上下文创建,然后只有它会被销毁并随活动一起被垃圾收集。Krishnabhadra是正确的,传递应用程序上下文不会让视图被垃圾收集,即使活动被销毁。因此请改用BrowseActivity.this或getBaseContext()要获取活动上下文。请阅读文档-1,在创建视图层次结构时,应始终尝试不使用getApplicationContext()。这将导致视图保留在内存中,即使活动被销毁。