android - 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 呢?这里有什么错误?
解决方案
你做错了,你试图设置一个空的布局参数高度,因为你没有在创建布局对象后将布局参数设置为 LinearLayout。
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT));
`
推荐阅读
- sql-server - 为没有任何对应值的组生成记录
- python - 多维数组的递归矩阵元素加法
- git-detached-head - 恢复 git 分离的头部提交
- integration - 将 ELK 与 Zabbix 集成
- c++ - 如何在 C++ 中实现模 2 二进制除法
- python - 如何根据第一列和第二列之间的差异获取数据框中第三列的值?
- python - 解决 AWS Lambda 函数上的“响应:调用调用 API 操作失败并显示此消息:网络错误”
- python - 读取多个文件,字典值被覆盖
- sql - Postgresql 从表中创建数组
- mysql - 节点js中foreach循环中的查询问题