Использование include в качестве корневого макета node throws "Исключение ошибки при включении класса" исключение

Я пытаюсь использовать разные макеты элементов списка в зависимости от версии ОС.

Итак, я создал различные макеты, связанные с условиями. Один из них (в layout/search_result_list_item.xml)

<?xml version="1.0" encoding="utf-8"?>
<include xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    layout="@android:layout/simple_list_item_1">
</include>

он включает в себя стандартный "simple_list_item_1".

В моем Java-коде макет связан со списком следующим образом:

    adapter = new SimpleCursorAdapter(getActivity(),
                                      R.layout.search_results_list_item,
                                      null,
                                      from,
                                      to,
                                      0);

Когда отображается элемент списка, генерируется следующее исключение:

android.view.InflateException: Binary XML file line #2: Error inflating class include
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
   at android.support.v4.widget.ResourceCursorAdapter.newView(ResourceCursorAdapt

Что не так? не может использоваться как корневой элемент? несмотря на то, что ADT позволяет это.

Ответы

Ответ 1

Если кто-то еще задается вопросом, это ответ:

<?xml version="1.0" encoding="utf-8"?>
<merge>
    <include xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        layout="@android:layout/simple_list_item_1">
    </include>
</merge>

Ответ 2

Вы можете предоставить специальные ресурсы для ОС Android, используя квалификаторы в папках ресурсов.

Смотрите: http://developer.android.com/guide/topics/resources/providing-resources.html

Последний элемент в списке возможных квалификаторов - это версия (уровень API).