findViewById не работает для включения?
У меня есть, как включить:
<include
android:id="@+id/placeHolder"
layout="@layout/test" />
Макет включения выглядит следующим образом (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 = & quot; внутренним & quot; во время выполнения:
ImageView iv = (ImageView)findViewById(R.id.inner);
if (iv == null) {
Log.e(TAG, "Not found!");
}
Должен ли я быть в состоянии найти это? Похоже, что поскольку он использует «include», обычный метод findViewById не работает.
---------- Обновить ----------------
Так что я могу найти идентификатор, назначенный для включения:
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
Идентификаторы просто удаляются из элементов во время выполнения, может быть?
Спасибо