GridView单元格被推到左侧



如何在GridView中动态设置单元格的高度,以及如何刷新它?现在,我让我的Adapter实现OnGlobalLayoutListener,在调用onGlobalLayout时获取GridView的维度,然后保存维度。在getView()中,我调用cell.setLayoutParams(mGridViewWidth / 3, mGridViewWidth / 3);。我的问题是,我的整个GridView被向左推了太多,所以只有最后一列的一部分可见。调用notifyDataChanged()似乎有效,但看起来效率很低。我试过mGridView.requestLayout()mGridView.invalidateViews(),但都不起作用。

我确认我的GridView占据了整个屏幕。定位怪异的是元素。我将我的GridView's背景色设置为#0000ff,屏幕是蓝色的。元素出了问题。我回收LayoutParams不对吗?

显然使用android:stretchMode="none"会破坏GridView。我删除了那部分代码,现在就可以工作了。

最新更新