如何检查View中是否存在间接child?
How to check weather the indirect child exists in View or not?
这是我的布局。
<LinearLayout
android:id="@+id/lyt_linearNative"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone" >
<LinearLayout
android:id="@+id/lyt_tp1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/vmax_iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bee7_btn_close" />
<LinearLayout
android:id="@+id/lyt_tp2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/vmax_tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="title" />
<TextView
android:id="@+id/vmax_tv_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="2"
android:text="Description" />
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/black" />
<LinearLayout
android:id="@+id/lyt_tp3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/vamx_tv_totalInstall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:text="total install" />
<TextView
android:id="@+id/vamx_tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginLeft="50dp"
android:text="Price" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
请仅将以上布局视为模板。 children.
可以有任意个数
我想检查 vmax_tv_desc 是否存在于 lyt_linearNative 中。
我知道我们可以通过使用
获得直接的 child
View nextChild = ((ViewGroup)parentView).getChildAt(i);
但我想检查 间接 child。
任何帮助将不胜感激。
谢谢,
作为评论区要求的回答:
我不会按索引使用,因为它会将代码<>布局紧密地结合在一起 - 你可以在你的父级上找到ViewById:
parentView.findViewById(vmax_tv_desc)
这是我的布局。
<LinearLayout
android:id="@+id/lyt_linearNative"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone" >
<LinearLayout
android:id="@+id/lyt_tp1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/vmax_iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bee7_btn_close" />
<LinearLayout
android:id="@+id/lyt_tp2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/vmax_tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="title" />
<TextView
android:id="@+id/vmax_tv_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="2"
android:text="Description" />
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/black" />
<LinearLayout
android:id="@+id/lyt_tp3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/vamx_tv_totalInstall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:text="total install" />
<TextView
android:id="@+id/vamx_tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginLeft="50dp"
android:text="Price" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
请仅将以上布局视为模板。 children.
可以有任意个数我想检查 vmax_tv_desc 是否存在于 lyt_linearNative 中。 我知道我们可以通过使用
获得直接的 child View nextChild = ((ViewGroup)parentView).getChildAt(i);
但我想检查 间接 child。 任何帮助将不胜感激。
谢谢,
作为评论区要求的回答:
我不会按索引使用,因为它会将代码<>布局紧密地结合在一起 - 你可以在你的父级上找到ViewById:
parentView.findViewById(vmax_tv_desc)