0

我只是想修改一个文本视图(称为 t)的跨度布局属性,以便让它跨越一个表内的 2 列。我使用代码

TextView t = new TextView(WineActivity.this);
t.setTextSize(15);
TableRow.LayoutParams params = (TableRow.LayoutParams) t.getLayoutParams();
params.span = 2; 
t.setLayoutParams(params);

对我来说非常神秘的是,代码的第二行生成了一个 NullPointerException。有人知道为什么吗?

4

2 回答 2

0

问题是您正在调用 (TableRow.LayoutParams) t.getLayoutParams(); 但在程序已经运行并显示页面之前,t 不会生成 LayoutParams。

最简单的解决方案就是自己创建新参数。

TableRow.LayoutParams params = new TableRow.LayoutParams();
params.span = 3;
row.setLayoutParams(params);
于 2014-09-26T10:05:26.740 回答
0

“参数”为空。

我猜 t.getLayoutParams 也可能为空,但查看更多代码会对我们有所帮助。

于 2013-09-30T17:37:20.153 回答