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

Идентификаторы просто удаляются из элементов во время выполнения, может быть?

Спасибо

Ответы на вопрос(6)

Ваш ответ на вопрос