Неправильная документация Android по псевдонимам макета?

Я хотел бы выяснить, как повторно использовать или "псевдоним" макеты с наименьшим стандартным кодом.

Кажется, чтоAndroid документация по псевдонимам макетов неверно, и, конечно, кажется противоречивым. Этот раздел документации показывает следующий файл макета в качестве примера:

<resources>
    <item name="main" type="layout">@layout/main_twopanes</item>
</resources>

Если я пытаюсь скомпилировать это, я получаюAttribute is missing the Android namespace prefix ошибка. Даже после добавления пространства имен кresources стихия, я получаюerror: Error: String types not allowed (at 'type' with value 'layout').

В другом месте в документации Android, они показывают другой, казалось бы, перевернутый и неправильный путь к макетам псевдонимов:

To create an alias to an existing layout, use the element, wrapped in a <merge>. For example:

<?xml version="1.0" encoding="utf-8"?>
<merge>
    <include layout="@layout/main_ltr"/>
</merge>

Запуск этого приводит к следующей ошибке в LogCatE/AndroidRuntime(1558): android.view.InflateException: <merge /> can be used only with a valid ViewGroup root and attachToRoot=true, Так что эта ошибка, кажется, подтверждает тот факт, что это<include> <merge> пара должна быть ошибкой, потому что она требует ненужного родителяView.

Наконец,<merge> documentationчто, кажется, противоречит первому направлению, не упоминая перевернутую форму верхнего уровня<merge><include/></merge>.

To avoid including such a redundant view group, you can instead use the element as the root view for the re-usable layout. For example:

<merge xmlns:android="http://schemas.android.com/apk/res/android">

    <Button
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:text="@string/add"/>

    <Button
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:text="@string/delete"/>

</merge>

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

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