GridLayout из библиотеки поддержки не показывает 2 строки на Android 2, onChildVisibilityChanged Error

Кто-нибудь получил библиотеку поддержки, чтобы правильно отобразить сетку в Android 2? Вместо двух строк и столбцов я получаю одну строку на экране и вижу эту ошибку в выводе logcat: Android GridLayout Не удалось найти метод android.support.v7.widget.ViewGroup.onChildVisibilityChanged

Тот же самый точный макет работает на Android4 → ICS, когда я меняю тег макета с android.support.v7.widget.GridLayout to GridLayout

Может быть, это проблема с настройкой? У меня есть проект библиотеки gridlayout_v7 на вкладке Android моих свойств проекта Eclipse, а v.13 jar - на пути сборки.

Ниже размещен макет XML с ошибкой. Я добавил строки и столбцы макета явно в тегах кнопок изображения, чтобы решить проблему. Если у кого-нибудь есть рабочий пример, который запускается на Android 2 с помощью библиотеки поддержки, поделитесь им.

<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="2"  android:rowCount="2"
android:gravity="center_vertical" 
android:layout="@drawable/bg_test_main" >

<ImageButton android:id="@+id/btnSentence"
android:layout_row="0"
android:layout_column="0"
android:src="@drawable/testa_btn"
android:contentDescription="@string/spin_fill_in"
android:background="@android:color/transparent"
/>
<ImageButton android:id="@+id/btnAudio"
android:layout_row="0"
android:layout_column="1"
    android:src="@drawable/testb_btn"
android:contentDescription="@string/audio_quiz"
android:background="@android:color/transparent"
/>
<ImageButton android:id="@+id/btnPickWord"
android:layout_row="1"
android:layout_column="0"
android:src="@drawable/testc_btn"
android:background="@android:color/transparent"
android:contentDescription="@string/def_pick_word" />

<ImageButton android:id="@+id/btnPickDef"
android:layout_row="1"
android:layout_column="1"
android:src="@drawable/testd_btn"
android:background="@android:color/transparent"
android:contentDescription="@string/pick_def" />

</android.support.v7.widget.GridLayout>

Ответ 1

Я думаю, вы пропустили добавление пространства имен XML. Пожалуйста, исправьте это следующим образом:

<android.support.v7.widget.GridLayout 
     xmlns:grid="http://schemas.android.com/apk/res-auto"
     xmlns:android="http://schemas.android.com/apk/res/android">
...
</android.support.v7.widget.GridLayout>

и не забудьте также префиксные атрибуты, используемые для совместимости GridLayout с пространством имен XML:

<ImageButton android:id="@+id/btnSentence"
    grid:layout_row="0"
    grid:layout_column="0"
    ...
/>

Надеюсь, что это поможет...