看了很多网上其他大神的,感觉还是在listview的adapter中的getCount中下手比较好点

毕竟计算高度等等,那会让辅助的布局会一团糟,例如下面的搜索历史只显示四条,布局中有横向listview

有gridview

package com.tfot.hotel.yichengyiyu.Activity.zhou_activity.adapter;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView; import com.tfot.hotel.yichengyiyu.Activity.zhou_activity.data.RecordSQLiteOpenHelper;
import com.tfot.hotel.yichengyiyu.R; import java.util.List; /**
* Created by qpz on 2017-6-24.
*/ public class SouSuoListAdapter extends BaseAdapter{
private static final int MAX_ITEM_COUNT = 4; private Context context;
private LayoutInflater layoutInflater;
private List sousuo;
private MyClickListener mListener; private SQLiteDatabase db;
private RecordSQLiteOpenHelper helper;
public SouSuoListAdapter(Context context,List sousuo, MyClickListener mListener){
this.context = context;
this.layoutInflater=LayoutInflater.from(context);
helper = new RecordSQLiteOpenHelper(context);
this.sousuo = sousuo;
this.mListener = mListener;
} /**
* 组件集合,对应xml中的控件
* @author Administrator
*/
public final class DanGe{
public TextView activity_sousuolishi_neirong_tv;
public ImageView sousuo_shanchuyitiao_iv;
} /**
* 设置listview显示的条数,为4条
* @return
*/
@Override
public int getCount() {
if (sousuo == null)
return 0;
return Math.min(MAX_ITEM_COUNT,sousuo.size());
} @Override
public Object getItem(int position) {
if(sousuo.get(position)!=null&&!sousuo.isEmpty()){
return sousuo.get(position);
}
return null;
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(final int position, View convertView, ViewGroup parent) {
DanGe danGe=null;
if(convertView==null) {
danGe=new DanGe();
//获得组件,实例化组件
convertView =layoutInflater.inflate(R.layout.activity_sousuolishi, null);
danGe.sousuo_shanchuyitiao_iv = (ImageView) convertView.findViewById(R.id.sousuo_shanchuyitiao_iv);
danGe.activity_sousuolishi_neirong_tv = (TextView) convertView.findViewById(R.id.activity_sousuolishi_neirong_tv);
convertView.setTag(danGe);
}else{
danGe = (DanGe) convertView.getTag();
}
danGe.activity_sousuolishi_neirong_tv.setText((String)sousuo.get(position));
danGe.sousuo_shanchuyitiao_iv.setOnClickListener(mListener);
danGe.sousuo_shanchuyitiao_iv.setTag(position);
return convertView; }
/**
* 用于回调的抽象类
*/
public static abstract class MyClickListener implements View.OnClickListener {
/**
* 基类的onClick方法
*/
@Override
public void onClick(View v) {
myShanChuOnClick((Integer) v.getTag(), v);
}
public abstract void myShanChuOnClick(int position, View v);
} }

listview显示固定条数的更多相关文章

  1. orcale 使用创建日期排序然后分页每次取排序后的固定条数

    需求: 一个使用mybatis分页插件的分页列表, 现在要求新增一条数据或者修改一条数据后,显示在最前端 思路: 使用sql , 先将查询出来的数据排序, 然后使用rownum > page*s ...

  2. Magento-设置产品显示的条数和默认条数

    在Block/Product/List/Toolbar.php里面,控制每页显示条数和默认条数的方法如下: 1.每页显示条数: protected function _getAvailableLimi ...

  3. Grid++Report设置显示固定行数

    一.要实现的功能打印的报表显示固定的行数,并且设置字段的文字可以自动换行二.设置步骤1.鼠标左键单击“明细网格”栏,在右侧属性窗口中设置“追加空白行”属性值为:是:“追加空白行在后”属性值为:是.2. ...

  4. 数据多js平均时间取固定条数展示,echarts数据多处理数据

    js代码: function getfailurerate(start,end,ip) { $.ajax( { url : "report/getvirtual.action", ...

  5. for循环每次展示固定条数的数据的写法。

    第一种是一组json数据实现分页的效果,也就是每一次展示5条数据.第二种场景是每一秒展示4条数据,直到全部显示完.两种思路都做个笔记记录下. var nums = 5; //每页出现的数量 var p ...

  6. asp显示记录条数

    Sql = "select * from xin126 where ID=" & id Rs.Open Sql,Conn,1,1 %> 共有<strong st ...

  7. Dedecms织梦搜索页显示条数的更改方法

    织梦dedecms搜索结果页面的显示条数默认是10条,这个数值在模板当中是不能控制的. 解决方法: 打开根目录下的plus文件夹,找到search.php修改一段代码: 在大概第15行,找到 $ pa ...

  8. 表单生成器(Form Builder)之mongodb表单数据查询——返回分页数据和总条数

    上一篇笔记将开始定义的存储结构处理了一下,将FormItems数组中的表单项都拿到mongodb document的最外层,和以前的关系型数据类似,之不过好多列都是动态的,不固定,不过这并没有什么影响 ...

  9. logcat的条数设置

    在软件默认设置下,logcat的缓存为1024,即logcat显示的条数有限,给程序的调试带来很大的不便,通过设置 logcat缓存的大小,可以增加logcat显示的条数,将程序调试的输出都可以打印出 ...

随机推荐

  1. webservice技术--服务器端

    1.webservice实现单点登录具体逻辑为 ①软通web端作为客户端,请求wi社区后台,进行登录请求 ②wi社区后台验证t,核实无误后,走登录逻辑,直接进入欢迎页 ③如果有错误,封装错误xml,返 ...

  2. day 46 Javascript学习

    Javascript学习   JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScri ...

  3. 2019暑训第一场训练赛 |(2016-icpc区域赛)部分题解

    // 今天下午比赛自闭了,晚上补了题,把AC的部分水题整理一下,记录坑点并吸取教训. // CF补题链接:http://codeforces.com/gym/101291 A - Alphabet 题 ...

  4. 如何妥善处理WebBrowser对Javascript的错误问题,阻止JS弹出框,提高用户体验

    由于项目需求,最近转战客户端,开始搞浏览器开发.众所周知,现在在微软平台上开发浏览器,最常用的方法就是扩展Webbrowser,但是首先要清楚的是,WebBrowser控件仅仅是对WebBrowser ...

  5. NOIP2018提高组初赛选讲

    说实话,这次的初赛比上一次的要简单. 不过还有些变态的题目. 在一条长度为1 的线段上随机取两个点,则以这两个点为端点的线段的期望 长度是( ). A. 1 / 2 B. 1 / 3 C. 2 / 3 ...

  6. HTML5 drag拖动事件

    参考链接:https://segmentfault.com/a/1190000013606983 例子: <!DOCTYPE HTML> <html> <head> ...

  7. mysql基础教程(一)-----概述、安装、查询

    概述 好处 •实现数据持久化 •使用完整的管理系统统一管理,易于查询 概念 DB 数据库(database):存储数据的“仓库”.它保存了一系列有组织的数据. DBMS 数据库管理系统(Databas ...

  8. 简单的选项卡制作(原生JS)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. Acer笔记本蓝牙功能不可用

    在电脑运行过程中,本应该如下所存在的蓝牙图标不存在了: 打开设置,本应该可以选择开关的蓝牙开关按钮也不存在了: 电脑的蓝牙功能无法使用: 处理方法: 在C:\windows\sysytem32\文件夹 ...

  10. ajax 向后台数组解决;

    $.ajax({ traditional: true//这个设置为true,data:{"steps":["qwe","asd"," ...