传递给 LinearLayout 构造函数的内容

What to pass into LinearLayout constructor

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

我想在下面的 'done' 方法中创建一个 LinearLayout,但我不确定如何在 LinearLayout 构造函数中传递 Context。我应该在构造函数的参数中输入什么?

谢谢!

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{

                }


            }
        });

    }

尝试使用 getApplicationContext()BrowseActivity.this

您可以在此处使用 BrowseActivity.thisgetBaseContext()。但是请不要像其他答案所建议的那样使用 getApplicationContext() 。视图应该使用 Activity 上下文创建,然后只有它会被销毁并与 Activity.

一起被垃圾收集

Krishnabhadra 是正确的,即使 activity 被销毁,传递应用程序上下文也不会让视图垃圾被收集。因此,请改用 BrowseActivity.this 或 getBaseContext() 来获取 Activity 上下文。