菜鸡学习笔记,一步一个坑,在此记录下来。
这个问题出现在XML和JAVA混合使用来设计的情况下,总结出了两个原因。

原因一:在加入Layout前就调用了LayoutParams:
运行中的报错信息
提示中的报错信息
举例错误代码如下:
将错误代码中的root.addView()放到创建params的前面即可正常运行。

//设置在root布局内的布局方式:长宽
ViewGroup.LayoutParams params=iv.getLayoutParams();
params.height=450;
params.width=450;
iv.setLayoutParams(params); //update
iv.setScaleType(ImageView.ScaleType.FIT_XY);
root.addView(iv);//在调用LayoutParams之前,一定要先把组件放进布局里。否则闪退,无法正常显示。

原因二:在获得Layout前,先用findViewById来获得Layout中的组件。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐