在 LinearLayout 中获取所有子项

Posted

技术标签:

【中文标题】在 LinearLayout 中获取所有子项【英文标题】:Getting all children in a LinearLayout 【发布时间】:2015-04-09 01:38:05 【问题描述】:

如何让所有孩子以后使用?

LinearLayout createRow(LinearLayout parrent, int id, int orientation, int color)
    LinearLayout cell = new LinearLayout(this);
    LinearLayout.LayoutParams rowParams = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.MATCH_PARENT);
    rowParams.weight = 1;
    rowParams.setMargins(5,2,5,2);

    cell.setLayoutParams(rowParams);

    cell.setBackgroundColor(color);
    cell.setOrientation(orientation);
    cell.setId(id);

    parrent.addView(cell);

    cell.setOnClickListener(cellListener);
    return cell;

【问题讨论】:

【参考方案1】:

您可以使用getChildCount() 获取布局中的子级数量 一旦你有了它,你可以像这样循环它们:

int childCount = cell.getChildCount();
View child;
for(int i=0; i++; i<childCount)

   child = cell.getChildAt(i);
   // do what you want with each child element

【讨论】:

以上是关于在 LinearLayout 中获取所有子项的主要内容,如果未能解决你的问题,请参考以下文章

如何在 kotlin 中使 Material Button ToggleGroup 的所有子项不可点击

android 安卓开发 LinearLayut的处理问题

一次获取 LinearLayout 中的所有子视图

使用 NewtonSoft Json 在 C# 中获取 JSON 的所有子项

如果将 Webview 作为子项,则布局 onClick 事件不起作用

MySQL - 是不是可以获取层次结构中的所有子项?