Android:如何按类型查找视图

前端之家收集整理的这篇文章主要介绍了Android:如何按类型查找视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,我有一个类似于以下示例的布局xml:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/tile_bg" >

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="10dp" >

    <LinearLayout
        android:id="@+id/layout_0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <!-- view stuff here -->
    </LinearLayout>

    <!-- more linear layouts as siblings to this one -->

</LinearLayout>

我实际上有大约7个LinearLayout项目,每个ID都从layout_0等增加.我想要能够掌握根LinearLayout下的所有LinearLayout项目.我需要将一个id放在根目录下,通过id找到所有其他ID,或者我可以通过类型获取它们.

我用来夸大布局的代码是:

View view = (View) inflater.inflate(R.layout.flight_details,container,false);

我读到某个地方可以迭代ViewGroup的子项,但这只是一个View.

通过类型获取一群孩子的最佳方式是什么?

解决方法

这应该让你在正确的轨道上.
LinearLayout rootLinearLayout = (LinearLayout) findViewById(R.id.rootLinearLayout);
int count = rootLinearLayout.getChildCount();
for (int i = 0; i < count; i++) {
    View v = rootLinearLayout.getChildAt(i);
    if (v instanceof LinearLayout) {
        ...
    }
}
原文链接:https://www.f2er.com/android/311482.html

猜你在找的Android相关文章