来自支持库的GridLayout在Android 2上没有显示2行,onChildVisibilityChanged错误

Bet*_*ias 10 android grid-layout android-widget android-layout android-compatibility

有没有人获得支持库在Android 2中正确呈现网格布局?而不是2行和列我在屏幕上得到一行并在logcat输出中看到此错误:Android GridLayout无法找到方法android.support.v7.widget.ViewGroup.onChildVisibilityChanged

当我将布局标签从android.support.v7.widget.GridLayout更改为GridLayout时,Android4上的相同布局正在工作 - > ICS

这可能是设置的一些问题吗?我在Eclipse项目属性的Android选项卡中有gridlayout_v7库项目,而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>
Run Code Online (Sandbox Code Playgroud)

Tom*_*lek 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>
Run Code Online (Sandbox Code Playgroud)

并且不要忘记将兼容性GridLayout使用的属性加上XML命名空间的前缀:

<ImageButton android:id="@+id/btnSentence"
    grid:layout_row="0"
    grid:layout_column="0"
    ...
/>
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你...