在 Android 中,如果存在多个视图(View)具有相同的 ID,但它们的 drawingOrder 不同,那么可以使用以下方法指定某个 ID:

  1. 使用 findViewById() 方法指定 ID:这种方法只会找到 drawingOrder 最高的视图,如果需要找到其他视图,可以使用以下方法。

  2. 使用 getChildAt() 方法指定 drawingOrder:这种方法可以根据视图的 drawingOrder 来找到指定的视图。例如,如果需要找到第二个视图,可以使用 getChildAt(1)。

  3. 使用 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 作为指定的视图。

Android 中如何识别多个相同 ID 但 drawingOrder 不同的 View

原文地址: https://www.cveoy.top/t/topic/jusX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录