Java 不同行号的Android GridView
我需要使用gridview,并希望动态更改行号 例如: 我需要这样的东西: 我收到一个带有结果的ArrayList,我需要在单行上显示前十个结果,在两行布局上显示从十一个到最后的结果Java 不同行号的Android GridView,java,android,gridview,Java,Android,Gridview,我需要使用gridview,并希望动态更改行号 例如: 我需要这样的东西: 我收到一个带有结果的ArrayList,我需要在单行上显示前十个结果,在两行布局上显示从十一个到最后的结果 可以这样做吗?要实现这一点,您可以使用带有自定义适配器的listview,您需要创建两个带有一列的自定义listview项,第二个带有两列的自定义listview项 然后使用 getViewTypeCount() 在你的情况下,它将返回2 并在getView()中用 getItemViewType(int位置)
可以这样做吗?要实现这一点,您可以使用带有自定义适配器的listview,您需要创建两个带有一列的自定义listview项,第二个带有两列的自定义listview项 然后使用
getViewTypeCount()
在你的情况下,它将返回2
并在getView()
中用
getItemViewType(int位置)
并创建适当的视图并返回它
您可以查看更多详细信息您可以使用两种不同的网格视图,一种(单行)用于前10个项目,另一种(两行)用于11个至结束项目 我将创建两个布局,都是
GridView
,一个有一列,另一个有两列。我建议第一次使用列表视图
,因为它只是一列,但不能将可阅读的列表视图
放在滚动视图
中。我看到你说你已经试过了,但是看起来不太好,因为它们是分开滚动的
尝试在两个GridView
s周围添加ScrollView
,然后禁用其中项目的可滚动性,然后它应作为一个项目滚动
以下是ScrollView的代码:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
我希望这有帮助!询问您是否需要任何东西。这是我的布局代码
<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>
如果始终需要这样做,即始终将前10个放在一行中,则
您可以使用自定义适配器完成此操作。覆盖getView,您将获得位置作为参数,并根据需要返回视图 我建议您使用GridLayout而不是GridView!!您将行与列混淆。我尝试使用listview和gridview,但结果不是很好。。。因为我想滚动搜索所有记录。我尝试使用scrollView,但问题是scrollView没有将匹配父值作为高度。似乎
滚动视图
是,但数据没有映射到整个屏幕?如果没有,你能在物品周围加上边框,告诉我它们的下落吗?绿色是原始布局,边距设置为与父级匹配。红色为滚动视图,背景边距设置为与父项匹配。蓝色是scrolview线性布局背景,边距设置为匹配\u parents似乎ScrollView
填满了屏幕,那么到底是什么问题?
gridView.setScrollContainer(false);
<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>