1

我使用记录的示例之一来试验表格布局。MainActivity使用仅具有以下代码的准系统,setContentView(R.layout.activity_main)模拟器可以很好地显示表格布局。然后我在该行之后添加了该setContentView行,该操作导致:

  1. 布局未显示在模拟器中(即使在执行通过 setContentView 行之后,当代码在 tableLayout 声明行的断点处停止时)
  2. 与第一行错误getChildCount()

MainActivity 中的代码如下所示:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    TableLayout tableLayout = null;
    int s = tableLayout.getChildCount(); 

    for(int n = 0; n < s; ++n) {
        TableRow row = (TableRow)tableLayout.getChildAt(n);
        int t = row.getChildCount();

}

我错过了什么?提前感谢您的帮助。

4

2 回答 2

0

你必须TableLayout tableLayout像这样初始化你的:

TableLayout tableLayout = findViewById(R.id.whatever_id_you_gave_to_the_tablelayout);
于 2012-11-11T10:41:48.807 回答
0

正如 Luksprog 所说, tableLayout 是 null ,那么你将如何获取 getChildCount 的 null 值。因此,为它分配一个值。

TableLayout tableLayout = findViewById(R.id.your_table_layout_id);

这里 your_table_layout_id 是您在 xml 文件中为表格布局提供的 id。

于 2012-11-11T10:46:14.867 回答