gridview只显示一行(GridView怎么设置只显示一行)

本文目录
- GridView怎么设置只显示一行
- 如何动态设置一个gridview的layout
- GridView如何完整显示屏幕中最下面的一行
- 安卓 GridLinearLayout只显示一行
- 如何指定gridview只显示一行
- 为什么我使用gridview控件只能显示一行数据
GridView怎么设置只显示一行
方法如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
if (row.RowType == DataControlRowType.DataRow)
{
if (row.DataItemIndex == 0)
{
row.Visible = true;
}
else
{
row.Visible = false;
}
}
}
如何动态设置一个gridview的layout
以下两种方式都可以做到:
一、在xml布局文件中设置,wrap_content即表示根据gridView的内容自使用宽高,代码如下:
1
2
android:layout_width="wrap_content"
android:layout_height="wrap_content"
二、在代码中动态设置,可以在对gridview赋值之后,计算gridview的宽高,然后进行设置:
1
2
3
4
int height = 20;//此处的高度需要动态计算
int width = 30;//此处的宽度需要动态计算
LinearLayout.LayoutParams linearParams =new LayoutParams(width, height);
gridview.setLayoutParams(linearParams); //使设置好的布局参数应用到控件
需要注意的是:如果你的gridview是嵌套在ScrollView中,那么,你需要重写gridview控件,不然gridview只显示一行的问题(即高度不够),具体重写方式,可以参考下面代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
* @author hnbcinfo
* 自定义GridView控件,解决在ListView 或ScrollView中使用GridView导致GridView显示不全的问题
* 当前应用:时间轴中,图片显示
*/
public class GridViewForScrollView extends GridView {
public GridViewForScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public GridViewForScrollView(Context context) {
super(context);
}
public GridViewForScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE 》》 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
GridView如何完整显示屏幕中最下面的一行
最近项目需要用到gridview,其中长按要弹出个菜单,菜单就两个按钮,就在item界面里面,所以,要是屏幕现实的最后一行没有完全显示,菜单就可能无法完全显示。我想实现个效果,就是长按后,进行判断,要是该行没有完全显示(无论是部分在屏幕上面,还是部分在屏幕下面),让该行相应的移动一下,移动到该行可以完全显示的位置,我用过scrollBy(0, current_Step);gridview整体是移动了,但是你抬手再按gridview滑动,就会发现,gridview是先在移动前的位置开始滑动的,也就是说之前scrollBy(0, current_Step)移动的只是假象。
安卓 GridLinearLayout只显示一行
GridView嵌套在其他可以滚动的控件里面(ScrollView,ListView等)会出现这种问题
解决方法就是重写GridView的onmeasure方法
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE 》》 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
如何指定gridview只显示一行
提供一种思路:可以先在List中只存储第一行的数据,点击按钮后加入其余数据,然后再调用adapter.notifyDataSetChanged();再次点击按钮时,移除List中第一行数据以外的其它数据,再次调用adapter.notifyDataSetChanged();
为什么我使用gridview控件只能显示一行数据
你应该把每一条语句都放在一个数组或者集合对象也行必须动态添加进去还得判断是否有下一条记录给你个这段代码段
objarraylist
=
new
ArrayList();
while
(objSqlDataReader.Read())
{
if
(objSqlDataReader.HasRows)
{
ArrayList
al
=
new
ArrayList();
al.Add(objSqlDataReader.GetString(1));
al.Add(objSqlDataReader.GetString(2));
al.Add(objSqlDataReader.GetString(3));
al.Add(objSqlDataReader.GetString(4));
al.Add(objSqlDataReader.GetString(5));
al.Add(objSqlDataReader.GetString(6));
al.Add(objSqlDataReader.GetString(7));
objarraylist.Add(al);
}
}
这是C#的把数据库的每一列都放在集合里面再事例一个集合把存放每一列数据的集合放在新的集合里(也就是一行的数据)!调用就是把每一行的数据里的哪一个列!

更多文章:
java外包用的比较多技术(java后端程序员最常用的技术有哪些,重点技术有哪些)
2026年5月22日 18:30
clip converter(用ClipConverter下载的youku视频在电脑哪个文件夹)
2026年8月24日 21:15
chmod修改权限(ubuntu linux下使用 chmod 修改文件权限,命令后提示【缺少操作数】,求解决方法)
2025年8月3日 09:30
neighborhood在哪买(香港潮牌店铺推荐去香港买什么好)
2026年6月6日 23:00
richtextbox用法(怎样使用C#的RichTextBox控件)
2026年2月13日 20:45
js replace 正则表达式(求一个js正则表达式:替换html内容中除了标签外的特定字符为另外一个字符.)
2025年9月5日 03:00
rock什么意思中文意思(rock是什么意思 rock的中文翻译、读音、例句)
2026年9月6日 10:30
衣香丽影同档次的品牌(太平鸟,伊芙丽,衣香丽影,红袖三彩哪家好)
2026年8月15日 07:15
excel怎么用round保留一位小数(excel如何保留一位小数)
2025年12月21日 16:45
c语言数组元素求和(c语言求数组元素的总和!求助各位大佬!)
2025年9月7日 00:30













