У меня есть include include:
<include
android:id="@+id/placeHolder"
layout="@layout/test" />
Макет include выглядит как (test.xml):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/outer"
... >
<ImageView
android:id="@+id/inner"
... />
</FrameLayout>
Я не могу найти внутренний ImageView с id = "inner" во время выполнения:
ImageView iv = (ImageView)findViewById(R.id.inner);
if (iv == null) {
Log.e(TAG, "Not found!");
}
Должен ли я найти его? Похоже, что при использовании "include" обычный метод findViewById не работает.
---------- Обновление ----------------
Поэтому я могу найти идентификатор, присвоенный include:
View view = findViewById(R.id.placeHolder); // ok
но я не могу найти ни одного из его дочерних элементов по id, например:
view.findViewById(R.id.outer); // nope
view.findViewById(R.id.inner); // nope
то же самое, что и оригинал, если я попытаюсь найти их прямо так:
findViewById(R.id.outer); // nope
findViewById(R.id.inner); // nope
Может ли идентификаторы просто удаляться из элементов во время выполнения?
Спасибо