【发布时间】:2012-12-08 02:21:22
【问题描述】:
我想在我的应用程序中以编程方式设置 Gridview 的高度。
有什么方法可以实现吗?
我只想从代码中更改两个特殊情况下的gridview高度。
编辑:
<fragment
android:id="@+id/mygridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dip"
class="com.myapp.android.MyGridViewClass" />
MyGridViewClass 扩展了填充 Gridview 的 Fragment。
<GridView
android:id="@+id/mygridview_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:columnWidth="90dp"
android:gravity="center_vertical|center_horizontal"
android:horizontalSpacing="1dp"
android:numColumns="3"
android:scrollbars="vertical"
android:stretchMode="spacingWidthUniform"
android:verticalSpacing="5dp" />
在 myGridViewClass onViewCreated 中,我正在使用代码膨胀 gridview,
gridView = (GridView)getView().findViewById( R.id.mygridview_container);
gridAdapter = new MyCustomAdapter(context, list);
gridView.setAdapter(gridAdapter);
每当创建视图时,我都必须检查网格视图中的项目数并相应地设置高度。
当我尝试为 gridview 设置 layoutParams() 时,我得到了这个异常。
android.view.InflateException: Binary XML file line #89: Error inflating class fragment
其中第 89 行对应片段中的这一行 class="com.myapp.android.MyGridViewClass"
【问题讨论】:
-
InflateException 通常有根本原因。请提供完整的堆栈跟踪
-
这个参考链接Gridview height gets cut工作正常
标签: android android-layout gridview