我目前的代码是:
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
请帮帮我。这对我来说非常重要 提前致谢
答案 0 :(得分:1)
您正在为jArray中的每个项目创建一个TableRow并将其添加到TableLayout一次。您的createView方法向该行添加一个字符串:jArray(getexamnamesobject.getString("types")
)中相应项目的json对象上的“types”键的值。
您可能需要循环并使用StringBuilder收集所有“类型”字符串,并将它们放在一个TableRow中。
答案 1 :(得分:1)
您的新LayoutParams应该是新的TableRow.LayoutParams。 “裸”LayoutParams的视图无法一个接一个地堆叠。
答案 2 :(得分:1)
将setStretchAllColumns()和setShrinkAllColumns()设置为表格布局。并使表格布局的方向为“水平”。