Android 中如何识别多个相同 ID 但 drawingOrder 不同的 View
在 Android 中,如果存在多个视图(View)具有相同的 ID,但它们的 drawingOrder 不同,那么可以使用以下方法指定某个 ID:
-
使用 findViewById() 方法指定 ID:这种方法只会找到 drawingOrder 最高的视图,如果需要找到其他视图,可以使用以下方法。
-
使用 getChildAt() 方法指定 drawingOrder:这种方法可以根据视图的 drawingOrder 来找到指定的视图。例如,如果需要找到第二个视图,可以使用 getChildAt(1)。
-
使用 findViewsWithText() 方法指定 ID:这种方法可以根据视图的文本内容来找到指定的视图。例如,如果需要找到 ID 为 'myTextView' 的视图,可以使用以下代码:
TextView myTextView = null;
ArrayList<TextView> views = new ArrayList<TextView>();
rootView.findViewsWithText(views, 'myTextView', View.FIND_VIEWS_WITH_TEXT);
if (views.size() > 0) {
myTextView = views.get(0);
}
在上面的代码中,findViewsWithText() 方法会在 rootView 中查找所有文本内容为 'myTextView' 的视图,并将它们添加到一个 ArrayList 中。如果 ArrayList 不为空,则取出第一个 TextView 作为指定的视图。
原文地址: https://www.cveoy.top/t/topic/jusX 著作权归作者所有。请勿转载和采集!