[英]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.