Android 无法显示动态生成的网格布局

Android 无法显示动态生成的网格布局,android,android-layout,grid-layout,Android,Android Layout,Grid Layout,这是我创建动态文本视图,然后创建网格布局的代码。但网格布局并没有显示出来 TableRow[] tr = new TableRow[arry1.length]; final TextView[] tx = new TextView[arry1.length]; GridLayout tl = (GridLayout) findViewById(R.id.tablelayout1); tl.setRowCount(arry1.length*2); tl.setColumnCount(1); fin

这是我创建动态文本视图,然后创建网格布局的代码。但网格布局并没有显示出来

TableRow[] tr = new TableRow[arry1.length];
final TextView[] tx = new TextView[arry1.length];
GridLayout tl = (GridLayout) findViewById(R.id.tablelayout1);
tl.setRowCount(arry1.length*2);
tl.setColumnCount(1);
final Button but = new Button(S1.this);
b.setText("hi");

GridLayout[] gl = new GridLayout[arry1.length];

for (i = 0; i < arry1.length; i++) {

final String cat = arry1[i].toString();

tx[i] = new TextView(S1.this);
tx[i].setLayoutParams(new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
tx[i].setAllCaps(true);
tx[i].setTextSize(15);
tx[i].setText(cat);

gl[i] = new GridLayout(S1.this);
gl[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

gl[i].setVisibility(View.VISIBLE);

tr[i] = new TableRow(S1.this);
tr[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
tr[i].addView(tx[i],new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));            

tl.addView(tr[i],new GridLayout.LayoutParams());    
tl.addView(gl[i], new GridLayout.LayoutParams());
tx[i].setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

 category_main = cat;
     gl[i].addView(but);        // Exception        
    }
});

}
当我运行上述代码时,它会显示文本视图,但不会显示网格布局甚至按钮

即使我没有在网格布局中添加按钮,也不会显示网格布局

将按钮添加到动态生成的网格布局时引发异常


请帮帮我。

也许您应该使用TableLayout将TableRow对象添加到,而不是GridLayout?首先,它会引发什么异常?它说什么?当我们在表格布局中添加网格布局时,如果您将tablerow添加到表格布局,而不是gridlayout@Smokez我试过了。但我还想在每个文本视图下添加网格视图或网格布局。