Android:以编程方式设置线性布局高度

Android:以编程方式设置线性布局高度,android,Android,我正试图从活动中创建一个新的LinearLayout,以将其插入另一个视图中,这就是我的做法 LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL); linearLayout.setBackgroundResource(R.color.customBlue); linearLayout.getLayoutParams().height= View

我正试图从活动中创建一个新的LinearLayout,以将其插入另一个视图中,这就是我的做法

LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.setBackgroundResource(R.color.customBlue);
linearLayout.getLayoutParams().height= ViewGroup.LayoutParams.WRAP_CONTENT;
linearLayout.getLayoutParams().width= ViewGroup.LayoutParams.MATCH_PARENT;
但是我得到了这个错误

java.lang.NullPointerException: Attempt to write to field 'int
android.view.ViewGroup$LayoutParams.height' on a null object reference

那么,如何以编程方式设置LinearLayout width和height以匹配\u parent或wrap\u内容呢?这里的错误是什么?

您做错了,您试图设置空布局参数高度,因为您在创建布局对象后没有将布局参数设置为LinearLayout

ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
linearLayout.setLayoutParams(params);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL); 
ll.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT));
`