Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 传递给LinearLayout构造函数的内容_Java_Android_Parse Platform_Android Linearlayout - Fatal编程技术网

Java 传递给LinearLayout构造函数的内容

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

大家好:)我正在将我的android应用程序的产品存储在一个解析数据库中,并试图在运行时加载它们

我想在下面的“完成”方法中创建一个
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()。这将导致视图保留在内存中,即使活动被销毁。