1、头部view:设置view的点击时间,用于屏蔽listview的item的点击事件

     View headerView = getLayoutInflater().inflate(R.layout.listhead, null);Button btn = (Button) headerView.findViewById(R.id.button1);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Toast.makeText(MainActivity.this, bn, Toast.LENGTH_SHORT).show();}});

2、添加头部view:必须放在setAdapter前面不然会报错

       lv.addHeaderView(headerView);

3、listview填充假数据

        List> list = new ArrayList>();HashMap map = new HashMap();map.put(tv, tv);list.add(map);list.add(map);list.add(map);list.add(map);list.add(map);list.add(map);
     SimpleAdapter sa = new SimpleAdapter(this, list, R.layout.item_lv,new String[] { tv }, new int[] { R.id.tv });

4、设置适配器:如果listview不设置适配器,headview也不会显示的

       lv.setAdapter(sa);

5、设置item点击事件

      lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView arg0, View arg1,int position, long id) {//position 如果有headview  position =0 的第一个为headviewToast.makeText(MainActivity.this, position: + position,Toast.LENGTH_SHORT).show();//id:如果有headview或者footview  则这两个view的id为-1if (id == -1) {Toast.makeText(MainActivity.this, head: + id,Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, id: + id,Toast.LENGTH_SHORT).show();}}});

main.java全部代码:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;public class MainActivity extends Activity {ListView lv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lv = (ListView) findViewById(R.id.listView1);// 头部view:设置view的点击时间,用于屏蔽listview的item的点击事件View headerView = getLayoutInflater().inflate(R.layout.listhead, null);Button btn = (Button) headerView.findViewById(R.id.button1);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Toast.makeText(MainActivity.this, bn, Toast.LENGTH_SHORT).show();}});// 添加头部view:必须放在adapter前面不然会报错lv.addHeaderView(headerView);// 假数据List> list = new ArrayList>();HashMap map = new HashMap();map.put(tv, tv);list.add(map);list.add(map);list.add(map);list.add(map);list.add(map);list.add(map);SimpleAdapter sa = new SimpleAdapter(this, list, R.layout.item_lv,new String[] { tv }, new int[] { R.id.tv });// 设置适配器:如果listview不设置适配器,headview也不会显示的lv.setAdapter(sa);// 设置item点击事件:lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView arg0, View arg1,int position, long id) {//position 如果有headview  position =0 的第一个为headviewToast.makeText(MainActivity.this, position: + position,Toast.LENGTH_SHORT).show();//id:如果有headview或者footview  则这两个view的id为-1if (id == -1) {Toast.makeText(MainActivity.this, head: + id,Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, id: + id,Toast.LENGTH_SHORT).show();}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

转载于:https://www.cnblogs.com/uf0-java/p/6225247.html

ListView添加headview相关推荐

  1. ListView 添加头部 和尾部 布局 (addHeaderView 和 addFooterView)

    ListView 添加头部 和尾部 布局  其实很简单 ,listview 暴露的有方法addHeaderView 和 addFooterView 从源码里面可以看到, addHeaderView 和 ...

  2. android开发 listview 头部 轮播,listview添加的头部布局超过一屏头部内容显示不全...

    headView的实际高度超过一个屏幕,但是显示的结果只有一个屏幕,超过一个屏幕高度意外的部分显示不全. 只使用了listView.getRefreshable().addHeadView(headV ...

  3. Flutter开发之ListView添加HeaderView和FooterView-2(39)

    参考文章:RecyclerView添加HeaderView和FooterView 接着Flutter开发之ListView添加HeaderView和FooterView-1 继续研究. 通过Recyc ...

  4. Flutter开发之ListView添加HeaderView和FooterView(38)

    参考文章:Flutter ListView如何添加HeaderView和FooterView flutter的ListView添加HeaderView和FooterView使用CustomScroll ...

  5. ListView添加项目带序列

    ListView添加项目带序列 function AddSelItems(listview1:TListView;ListView2:TListView):Boolean; var   s: stri ...

  6. android listview remove 动画,给Android ListView添加删除item动画

    给Android ListView添加删除item动画 给listview删除一个item的时候加上一个折叠动画,感觉效果会好一点. 步骤是当删除一个view,先用动画把view的高度改变,看上去就是 ...

  7. ListView隐藏右侧滚动条,listview去掉分割线,自定义分割线,ListView添加HeaderView和FooterView

    ListView添加HeaderView和FooterView View headerView = LayoutInflater.from(AddwcrrActivity.this).inflate( ...

  8. delphi listview 添加数据 慢_ListView 的缓存机制

    一.前言 ListView 作为一个 Android 5.x 之前的一个用于显示数据列表的控件,或许在今天都已经被 RecyclerView 完全替代,但是其中的缓存机制仍然值得我们去了解,对后面学习 ...

  9. listview winfrom 表头_c# listview添加表头

    2012-03-23 11:37 C# ListView Controlusing System.Windows.Forms; ListView控件添加表头: ColumnHeader h1 = ne ...

最新文章

  1. 【Groovy】Groovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )
  2. 04.Java 堆内存 新生代 老年代?
  3. “工业互联网平台“将成为工业制造企业的标配
  4. matlab eval 不显示,matlab中 eval(command); 运算符无效的问题
  5. @Value(${xxxx})注解的配置及使用
  6. 结构体变量和结构体指针变量作为函数参数传递问题
  7. Kali linux学习入门-安装Kali Linux 后需要做的 20 件事
  8. 相关性,互相关,自相关,相关系数
  9. 减速器课程设计指导系统使用方法
  10. 名悦集团:开电动车会比开燃油车省钱吗?
  11. 均方距离计算公式_均值、方差、均方值、均方差计算
  12. 经典Java开发教程 腾讯+字节+阿里面经真题汇总,斩获offer
  13. 重要的是商业,不是应用(Building a bussiness, not an app)
  14. 当大叔爱上小萝莉我就爱上了正则表达式(一)
  15. Apache Zookeeper配置
  16. 电子信息类的就业前景真的不如计算机吗?
  17. 正方形里面两个扇形相交部分_边长为1的正方形内,两个扇形,一个半圆,求阴影面积....
  18. BI是报表?BI是可视化?BI到底是什么?
  19. 甲基乙烯基硼酸 cas7547-97-9/异环己酰亚胺 cas4538-37-8
  20. MOS管的源极和漏极是否可以互换使用,场效应管的D极和S极呢?

热门文章

  1. MySQL默认INFORMATION_SCHEMA,MySQL,TEST三个数据库用途(转)
  2. hdu 1525 博弈
  3. bada项目在真机上调试
  4. Mr.J--正则表达式
  5. 两个getchar,一个getchar,getch的不同点 出现的不同情况
  6. 黑马程序员 Java 加强
  7. tp5 的查询构造器
  8. coroutine - yield from
  9. [唐诗]正月十五日夜-苏味道
  10. obj.href 与 obj.getAttribute(href)的区别