来自Android的BB10端口 - Gridview在启用bb10操作栏时重新订购

时间:2013-09-10 17:19:48

标签: android blackberry-10

我有一个Android应用程序,我正在移植到BB10,并且在布局调整大小时遇到​​网格视图的一个有趣问题。

布局非常简单 - 只需一个Gridview以及嵌套在相对布局中的其他几个组件。当活动启动时,布局表现得很好 - 所有组件都正确显示,并且Gridview图标位于预期位置。

但是,当打开BB10的内置操作栏时,在布局调整大小以适应操作栏后,gridview似乎完全颠倒了。在gridview中选择一个现在倒置的项目实际上会选择应该在那里的元素而不是现在正在显示的元素。

还有其他人遇到过这个问题/知道合理的工作吗?

onCreate方法也很简单 - 它只调用超类'onCreate并设置内容视图。

我的布局如下:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/home_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView
        android:id="@+id/banner_header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:adjustViewBounds="true"
        android:src="@drawable/header" />

    <GridView
        android:id="@+id/buttonGrid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/banner_header"
        android:horizontalSpacing="2dip"
        android:numColumns="2"
        android:stretchMode="columnWidth"
        android:verticalSpacing="20dip" />

    <ImageButton
        android:id="@+id/aboutImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@android:color/transparent"
        android:clickable="true"
        android:src="@drawable/info_gear" />

    <ImageButton
        android:id="@+id/bookmarkImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/aboutImage"
        android:layout_below="@+id/banner_header"
        android:background="@android:color/transparent"
        android:clickable="true"
        android:onClick="onClickBookmarkButton"
        android:src="@drawable/bookmarklist" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

经过几个小时的修补后,我发现将适配器重置为自身而不对其进行任何更改可以解决问题。

((GridView)findViewById(R.id.buttonGrid)).setAdapter(adapter);