Java 动态设置表格布局

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

我试图在活动中动态设置表布局。行和列的数量取决于用户的输入

所以问题就来了-每次行数都很好,但每行中的列数(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  
    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[]的最低值)。此外,由于每行的列数不同,我希望在这些列之间平均分配宽度