看了很多网上其他大神的,感觉还是在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. sed awk 练习

    #定位到某一行 添加内容 lower_case_flag=`cat /etc/my.cnf|grep "^lower_case_table_names"` if [ "X ...

  2. [原创]关于时间格式的坑(kk:mm:ss、HH:mm:ss与hh:mm:ss)

    笔者在项目中使用 kk:mm:ss表示24小时制,却发现与所想的不同,特记此坑,提醒众人: kk:mm:ss   24小时制,时间为1:00:00-24:59:59 HH:mm:ss 24小时制,时间 ...

  3. 07_Spring事务处理

    一.事务概述 数据库的事务: 事务是一组操作的执行单元,相对于数据库操作来讲,事务管理的是一组SQL指令,比如增加,修改,删除等.事务的一致性,要求,这个事务内的操作必须全部执行成功,如果在此过程种出 ...

  4. 3. 单元测试框架(unittest)1——TestCase

    1. import unittest 引入unittest模块:   2. class SearchTest (unittest.TestCase): 定义一个继承于TestCase类的子类:   3 ...

  5. MyEclipse 最常用实用快捷键

  6. IQueryable与IEnumerable使用区别

    IQueryable会将查询语法转化为SQL查询语句,去数据库查询:IEnumerable则查询整张表,加载到内存中,再进行筛选. 所以,当查询的数据量较大的时候,则使用IQueryable.反之,数 ...

  7. LOJ#3119 随机立方体

    解:极大值至少为1.我们尝试把最大那个数的影响去掉. 最大那个数所在的一层(指一个三维十字架)都是不可能成为最大值的. 考虑容斥.我们试图求除了最大值以外至少有k个极大值的概率. 我们钦定某k个位置是 ...

  8. 【arc075f】AtCoder Regular Contest 075 F - Mirrored

    题意 给定一个数x,问有多少个正整数y,使得rev(y)-y==x 其中rev(x)表示x按位翻转之后得到的数. x<=1e9 做法 首先通过打表发现,这个答案不会很大. 这就说明解相当地松弛. ...

  9. Echarts在Vue中的使用

    1.使用 cnpm 或 npm 安装 Echarts cnpm方式 cnpm install echarts -S 或者 npm方式 npm install echarts --save 2.在项目文 ...

  10. Python学习之函数(多层函数)、re模块的正则匹配--计算复杂加减乘除

    头疼,其实这个程序在我看的视频当中是当做re模块的运用来进行测试的,而到了我这里就成了简化版的了,因为我实在是做吐了,恕小弟无能,只能做简化版的.为何说是简化版呢,因为要求是给的计算式是多层嵌套的小括 ...