Вопрос по android, android-layout, android-widget – GridLayout из библиотеки поддержки не показывает 2 строки на Android 2, ошибка onChildVisibilityChanged

10

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

Точно такая же верстка работает на Android4 - & gt; ICS, когда я меняю тег макета с android.support.v7.widget.GridLayout для GridLayout

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

Сбой 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   ответ
36

вы пропустили, чтобы добавить пространство имен 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"
    ...
/>

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

Error: User Rate Limit Exceeded Beth Mezias
Error: User Rate Limit Exceeded Beth Mezias
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Beth Mezias
Error: User Rate Limit Exceeded

Похожие вопросы