我正在以编程方式从SQLite数据库编写表.
在循环中,我生成了所需的TextViews,并且当数据长于现有屏幕允许时,我尝试将数据包装在名为descCol的TextView中.
但是,当使用任何建议的方法时,我得到一个java.lang.NullPointerException.
这是我的代码示例;
TextView descCol = new TextView(this);
descCol.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
在这种情况下,debug显示它会在getLayoutParams()行上抛出java.lang.NullPointerException.
我也尝试过;
TextView descCol = new TextView(this);
ViewGroup.LayoutParams params = descCol.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
params.width = ViewGroup.LayoutParams.WRAP_CONTENT;
descCol.setLayoutParams(params);
在这种情况下,debug显示它会在params.height行上抛出java.lang.NullPointerException.
Debug显示在执行getLayoutParams()方法之后的任何一种情况下,params等于null,显然抛出了异常.
我试图在getLayoutParams()之前先将其他参数分配给descCol(textcolor,text,gravity等),但得到相同的结果.
关于如何避免java.lang.NullPointerException的建议将不胜感激.