我需要使用gridview,我想动态更改行号。
示例:
我需要这样的东西:
我收到一个带有结果的ArrayList,我需要在单行上显示前10个结果,从11个结果显示在两行布局上结束。
有可能吗?
答案 0 :(得分:0)
要完成此操作,您可以将listview与自定义适配器一起使用,您需要创建2个自定义列表视图项目,其中包含一列,第二个列表包含2列。
然后使用
getViewTypeCount()
在你的情况下会返回2.
并在getView()
中使用
getItemViewType(int position)
并创建适当的视图并将其返回。
您可以查看this link了解更多详情
答案 1 :(得分:0)
对于前10个项目,您可以使用两个不同的网格视图(单行),对于11个结束项目,可以使用第二个(有两行)。
答案 2 :(得分:0)
我会创建两个布局,两个布局都是GridView
,一个布局有一列,另一个布局有两列。我建议首先使用ListView
,因为它只有一列,但您不能在ListView
内放置不可滚动的ScrollView
。我看到你说你已经尝试过了,但是它们看起来并不是很好,因为它们是分别滚动的。
尝试在ScrollView
周围添加GridView
,然后禁用内部项目的可滚动性,然后将其滚动为一个项目。
以下是ScrollView的代码:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
然后显然在XML的末尾结束它:
</ScrollView>
执行此操作后,您应该使用以下行禁用GridView
的可滚动性:
gridView.setScrollContainer(false);
我希望这有帮助!询问您是否需要任何东西。
答案 3 :(得分:0)
这是我的布局代码。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ScrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Listado" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/lvDestacadas"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="3dp"
tools:listitem="@layout/celda" >
</ListView>
<GridView
android:id="@+id/gvGeneral"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="2dip"
android:numColumns="2"
android:verticalSpacing="2dip"
tools:listitem="@layout/celda_grid" >
</GridView>
</LinearLayout>
答案 4 :(得分:0)
如果它总是需要以这种方式完成,那么总是前10个将在一行中 你可以使用自定义适配器。覆盖getView,您可以根据需要返回视图。