Android Studio 多个 GridLayouts 以编程方式

Android Studio Multiple GridLayouts Programmatically

我正在 Android Studio 中处理一个项目,其中我有许多包含主细节视图的选项卡式片段,这些视图在主视图中呈现列表,在细节视图中呈现单个网格布局,这些只是布置在 xml 布局中,并且工作完美。对于最终的选项卡详细视图,我需要能够呈现多个单独的水平滚动单行和动态列计数网格布局或网格视图,每个网格布局或网格视图都带有一个 TextView header,并且必须以编程方式完成,因为它们很可能根据主视图列表选择而有所不同。这在 iOS 上使用 collection 视图非常简单,但是我找不到 Android 的示例可以做到这一点,而且我尝试过的每件事都会导致单个网格布局,没有 TextView header。谁能提供一个简单的例子(可能有三个网格)来说明如何做到这一点?

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ScrollView svv = new ScrollView(this);
    svv.setLayoutParams(new ScrollView.LayoutParams(ScrollView.LayoutParams.WRAP_CONTENT, ScrollView.LayoutParams.WRAP_CONTENT));
    LinearLayout linLayout = new LinearLayout(this);
    linLayout.setOrientation(LinearLayout.VERTICAL);
    LayoutParams linLayoutParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    LayoutParams lpView = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    int colcount = 20;
    int rowcount = 1;
    TextView tv;
    Button btn;
    GridLayout grd;
    GridLayout.LayoutParams gllop;
    HorizontalScrollView svh;

    for(int i = 0; i < 30; i++) {
    tv= new TextView(this);
    tv.setText("TextView " + i);
    tv.setLayoutParams(lpView);
    linLayout.addView(tv);
    grd = new GridLayout(this);
    grd.setColumnCount(colcount);
    grd.setRowCount(rowcount);
    grd.setBackgroundColor(Color.YELLOW);
        for(int j = 0; j < 20; j++) {
            gllop = new GridLayout.LayoutParams(GridLayout.spec(0), GridLayout.spec(j));
            btn = new Button(this);
            btn.setText("Button " + i +"."+j);
            grd.addView(btn, gllop);
        }
        svh = new HorizontalScrollView(this);
        svh.addView(grd);
        linLayout.addView(svh);
    }
    svv.addView(linLayout);
    setContentView(svv, linLayoutParam);

}