【问题标题】:Array containing all instances of views with Tag = x包含标签 = x 的所有视图实例的数组
【发布时间】:2012-07-04 02:24:22
【问题描述】:

有没有办法创建一个包含实际视图实例的数组。例如,如果我有一个名为 Container 的 LinearLayout,其中包含 3 个具有相同 Tag 属性的其他 LinearLayout,我想获得一个包含所有 3 个 LinearLayout 的列表,以便我可以遍历并处理每个。

试过了:

LinearLayout[] layouts = (LinearLayout[]) Container.FindViewWithTag(tag);

List<LinearLayout> layouts = (List<LinearLayout>) Container.FindViewWithTag(tag);

foreach(LinearLayout layouts in Container.FindViewWithTag(tag))

到目前为止,Android 都无法接受这些。处理我的情况的另一种可接受的方法是能够为每个 LinearLayout 分配一个父级。但是我还没有找到一种以编程方式设置视图父级的方法,只有如何获取视图的父级。

【问题讨论】:

    标签: android xamarin.android


    【解决方案1】:

    我从您的问题中了解到您想要线性布局的孩子。是的,可以通过container.getChild(index)获取线性布局的child

    for(int i=0;i<container.getChildCount();i++){
           View child=container.getChildAt(i);
           //your processing....
      }
    

    【讨论】:

    • 对不起。请允许我尝试澄清一下。我有我包含的 LinearLayout,我将在其中附加许多其他 LinearLayout。正是这些新布局,我试图在它们之间创建某种父/子关系。因此,共享标签是我尝试将布局与父级“分组”。最初尝试使用一个更有意义的 ExpandableListView 并且会使这变得更容易,但我花了太多时间用可点击的视图将我的头撞在墙上,我放弃了它,只是尝试创建我自己的“ExpandableListView”。
    • 为什么不使用 ExpandlableListView 的默认小部件?您是否遇到了在 ExpandlableListView 的默认控件中单击的问题?
    • 就像我说的,我从 ExpandableListView 开始。但我在那里有 CheckBoxes、AutoCompleteTextViews 和 Buttons,并且遇到了一个又一个问题。
    • 我可以帮助您摆脱您在 Expandable ListView 中遇到的那些问题,使用默认控件是一种很好的做法。
    猜你喜欢
    • 2014-09-02
    • 2019-07-11
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2023-03-17
    • 2020-12-08
    • 2012-11-22
    • 2021-08-14
    相关资源
    最近更新 更多