Nieprawidłowa dokumentacja systemu Android dotycząca aliasów układu?

Chciałbym dowiedzieć się, jak ponownie wykorzystać układy „aliasów” z najmniejszym kodem standardowym.

Wydaje się, żeDokumentacja systemu Android dotycząca aliasów układu jest niepoprawna i na pewno wydaje się niespójna. Ta sekcja dokumentacji przedstawia następujący plik układu jako przykład:

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

Jeśli spróbuję to skompilować, dostanęAttribute is missing the Android namespace prefix&nbsp;błąd. Nawet po dodaniu przestrzeni nazw doresources&nbsp;element, dostajęerror: Error: String types not allowed (at 'type' with value 'layout').

Gdzie indziej w dokumentacji systemu Android, pokazują inny i pozornie odwrócony i niepoprawny sposób aliasów:

Aby utworzyć alias do istniejącego układu, użyj elementu owiniętego w<merge>. Na przykład:

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

Uruchomienie tego powoduje następujący błąd w LogCatE/AndroidRuntime(1558): android.view.InflateException: <merge /> can be used only with a valid ViewGroup root and attachToRoot=true. Więc ten błąd zdaje się wzmacniać fakt, że to<include> <merge>&nbsp;para musi być błędem, ponieważ wymaga niepotrzebnego rodzicaView.

Wreszcie jest<merge>&nbsp;dokumentacja, co wydaje się przeczyć temu pierwszemu kierunkowi, nie wspominając o odwróconej formie najwyższego poziomu<merge><include/></merge>.

Aby uniknąć dołączania takiej nadmiarowej grupy widoków, możesz zamiast tego użyć elementu jako widoku głównego dla układu wielokrotnego użytku. Na przykład:

<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>