微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态创建具有不同内容的TableRow

如何解决动态创建具有不同内容的TableRow

| 我正在动态创建ѭ0。这些“ 0”具有两种类型的内容。 有些享有4个意见。 有些有2个视图。 问题是“ 0”有两个,试图占据与四个相同的布局。 这正在发生: 图ThisTextViewHasThisSize 图TV0 __________________TV1 TV2 ...
    TableLayout tl = (TableLayout) findViewById(R.id.myTableLayout);

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

        TableRow tr = new TableRow(this);

        ImageButton button = new ImageButton(this);
        tr.addView(button);

        TextView tv0 = new TextView(this);
        tv0.setText(array[i].something0());

            if (another type of TableRow) {
            TextView tv1 = new TextView(this);
            TextView tv2 = new TextView(this);
            tv1.setText(array[i].something1());
            tv2.setText(array[i].something2());
            tr.addView(tv1);
            tr.addView(tv2);

        }
        tr.addView(tv0);

        tl.addView(tr);
    }
有人可以告诉我如何让TableRows布局彼此完全独立吗?     

解决方法

        您可以使用
TableRow.LayoutParams
在表中设置视图范围。例如:
TableRow tr = new TableRow(this);

//all rows have this button
ImageButton button = new ImageButton(this);
tr.addView(button);

TextView tv0 = new TextView(this);
tv0.setText(\"hey\");

if (some condition == true) {
    TextView tv1 = new TextView(this);
    TextView tv2 = new TextView(this);
    tv1.setText(\"heay 2\");
    tv2.setText(\"hey 3\");
    tr.addView(tv0);
    tr.addView(tv1);
    tr.addView(tv2);
}else {
    TableRow.LayoutParams trlp = new TableRow.LayoutParams();
    trlp.span = 3;
    tv.setLayoutParams(trlp);
    tr.addView(tv0);
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。