首页 > 解决方案 > Android:以编程方式设置 LinearLayout 高度的问题

问题描述

我正在尝试从活动创建一个新的 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 的宽度和高度设置为 match_parent 或 wrap_content 呢?这里有什么错误?

标签: android

解决方案


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

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

`


推荐阅读