繁体   English   中英

如何在Android中创建动态水平表行?

[英]How to create dynamic horizontal table row in android?

我当前的代码是:

for(int i=0;i<jArray.length();i++){
            JSONObject json_data = jArray.getJSONObject(i);
            String b = json_data.getString("examnames");
            JSONObject getexamnamesobject = new JSONObject(b);
            getexamnames=getexamnamesobject.getString("types");
            TableRow tr = new TableRow(this);
            TextView tv1 = new TextView(this);
            createView(tr,tv1,getexamnames);
            t1.addView(tr);
        }
public void createView(TableRow tr, TextView t, String viewdata) {
        t.setText(viewdata);
        //adjust the porperties of the textView
        t.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        //t.setTextColor(Color.DKGRAY);
        //t.setBackgroundColor(Color.CYAN);
        t.setPadding(20, 0, 0, 0); 
        tr.setPadding(0, 1, 0, 1); 
        //tr.setBackgroundColor(Color.BLACK);
        tr.addView(t); // add TextView to row.
        }

我上面代码的输出是,我像这样垂直获取文本视图:

English
Maths
Science

为了获得像这样的水平输出,上述编码中必须进行哪些更改:

English Maths Science

请帮我。 这对我来说非常重要

您正在创建一个TableRow并将其添加到jArray中的每个项目一次。 您的createView方法向该行添加一个字符串:jArray中对应项( getexamnamesobject.getString("types") )上json对象上“ types”键的值。

您可能只需要遍历并使用StringBuilder收集所有“类型”字符串,并将它们放入单个TableRow中。

您的新LayoutParams应该是新的TableRow.LayoutParams。 具有“裸” LayoutParam的视图不能一个接一个地堆叠。

将setStretchAllColumns( )和setShrinkAllColumns( )设置为表布局。 并使其在表格布局中的方向为“水平”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM