Java 动态设置表格布局
我试图在活动中动态设置表布局。行和列的数量取决于用户的输入 所以问题就来了-每次行数都很好,但每行中的列数(TextView)总是等于数组的最低值Java 动态设置表格布局,java,android,android-tablelayout,Java,Android,Android Tablelayout,我试图在活动中动态设置表布局。行和列的数量取决于用户的输入 所以问题就来了-每次行数都很好,但每行中的列数(TextView)总是等于数组的最低值无周期[]。例如,如果无天数的值为5,无时段[]的值为2、3、4、5、6。该表将有5行,但每行只有2个文本视图,而不是相应行中的2、3、4、5、6个文本视图 这是我正在尝试的代码 //loop to set the rows and text view in the table layout of activity_home
无周期[]
。例如,如果无天数的值为5,无时段[]
的值为2、3、4、5、6。该表将有5行,但每行只有2个文本视图,而不是相应行中的2、3、4、5、6个文本视图
这是我正在尝试的代码
//loop to set the rows and text view in the table layout of activity_home
for (int i = 0; i < no_days; i++) {
tableRow = new TableRow(TimeTable.this);
for (int j = 0; j <no_periods[i]; j++) {
textView = new TextView(TimeTable.this);
textView.setHint("Click");
textView.setClickable(true);
textView.setOnClickListener(click_listen);
int maxpixels = screenWidth/(no_periods[i]);
int minpixels = maxpixels;
textView.setPadding(10, 10, 10, 10);
textView.setMaxWidth(maxpixels);
textView.setMinWidth(minpixels);
tableRow.addView(textView);
}
tableLayout.addView(tableRow);
}
//循环设置活动\u主页的表布局中的行和文本视图
对于(int i=0;i 对于(int j=0;j而不是设置最大和最小宽度,请使用TableRow权重:
textView.setPadding(10, 10, 10, 10);
tableRow.addView(textView, new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1));
这将在每行的文本视图之间分配水平空间
另外,您可能还想使用textView.setGravity(Gravity.CENTER);
。对不起,这里发错了。我只写了主题。您能帮忙吗further@Abhinav更新答案请解释我的方法错误的原因。如果我替换了“否”句点[I]通过一个常量值,我得到一行文本视图的数量等于该常量value@Abhinav除非您设置它,否则列的数量由您添加的第一行决定。因此您可以将其设置为最大值,这样就可以工作了。但是,从您的代码中,我假设您希望在视图中分布每行中的所有宽度,那么不是这样吗?先生,我确实尝试过将第一行的列数设置为3,然后将第二行的列数设置为2,然后将连续行的值设置为>2。但是整个表有2列(no_periods[]的最低值)。此外,由于每行的列数不同,我希望在这些列之间平均分配宽度