android listview添加headview,安卓开发从零开始

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

5、设置item点击事件


lv.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1,

int position, long id) {

//position 如果有headview position =0 的第一个为headview

Toast.makeText(MainActivity.this, “position:” + position,

Toast.LENGTH_SHORT).show();

//id:如果有headview或者footview 则这两个view的id为-1

if (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;

impor

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

t 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;

@Override

protected 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() {

@Override

public void onClick(View arg0) {

Toast.makeText(MainActivity.this, “bn”, Toast.LENGTH_SHORT)

.show();

}

});

// 添加头部view:必须放在adapter前面不然会报错

lv.addHeaderView(headerView);

// 假数据

List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

HashMap<String, String> map = new HashMap<String, String>();

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() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1,

int position, long id) {

//position 如果有headview position =0 的第一个为headview

Toast.makeText(MainActivity.this, “position:” + position,

Toast.LENGTH_SHORT).show();

//id:如果有headview或者footview 则这两个view的id为-1

if (id == -1) {

Toast.makeText(MainActivity.this, “head:” + id,

Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(MainActivity.this, “id:” + id,

Toast.LENGTH_SHORT).show();

}

}

});

}

@Override

public 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;

}

}

推荐文章:点击打开链接

GridView添加HeadView GridView 不向ListView有addHeadView的方法,那要添加HeadView的话怎么办?我开始是去查看ListView源码,我想仿照ListView的addHeadView来重写GridView。 发现我写的不行,GridView 是设置为1列的我是可以写出来的,1列的话那就跟ListView类似了。但是要几列的话就写不出来了,可能是我技术的问题。               阅读详情

相关推荐

AndroidListView.addHeaderView()用法及其注意事项

一、 概述:在代码中使用 listView.addHeaderView(…) 方法可以在ListView组件上方添加上其他组件,并且连结在一起像是一个新组件。如果多次使用 .addHeaderView(…) ,则最先添加的组件在最上方,按添加的先后顺序由上到下罗列。 此时listView 的 position = 0 的位置对应的是view1,而不再是原来listView中的第一条了。如下图所示:

iblade的博客 2万+

android如何在listview使用addheaderview,ListView在列表的头部和底部添加布局——addHeaderView,addFooterView...

addHeaderView()方法:主要是向listView头部添加布局addFooterView()方法:主要是向listView的底部添加布局以addHeaderView为例:View headView = getLayoutInflater().inflate(R.layout.igame_wb_details_task_list_layout_header, null);mLvList....

weixin_36143628的博客 922

addHeaderView【转】

listview需要添加headerview时,可以通过调用listview的addHeaderView(headView, null, false) 方法,   该方法还有一个重载方法 addHeaderView(headView);这两个方法的区别是前一个方法可以控制header是否可   以被selected,如果不想被selected则将第三个参数设置成false;    ...

yxwang0615的专栏 302

android listview添加headview

.show(); } }); 2、添加头部view:必须放在setAdapter前面不然会报错 lv.addHeaderView(headerView); 3、listview填充假数据 List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map = new HashMap<String

m0_70082867的博客 760

AndroidListView添加头部试图

一般我们使用listview的时候会遇到这样的情况,在头部有一个TextView之类的组件,但是对listview中的内容滑动的时候头部并没有一起滑动,所以为了解决这个问题,为listview添加一个头部试图就可以一起滑动,具体实现代码如下: public class MainActivity extends Activity { private ListView lv; private A

luffy207的博客 2062

android listview添加headview(1)

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。【Android高级架构视频学习资源】Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!

2401_84010457的博客 857

android listview添加headview,这些年Android面试的那些套路

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2401_84149619的博客 474

android listview添加headview,2021年“金三银四”来袭

View headerView = getLayoutInflater().inflate(R.layout.listhead, null); Button btn = (Button) headerView.findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Toast.makeText(MainActivity.thi..

wa2231a的博客 1740

Android中给ListviewHeadViewViewPager自动轮播图,解决滑动冲突

Android中给ListviewHeadViewViewPager自动轮播图,解决滑动冲突

疯狂的dialog的博客 3210
上一篇: android lambda语法简述,fluttersdk下载
下一篇: Android OpenCV(四十一),androidstudio开发实战pdf
m0_64319298
博客等级 码龄5年 1粉丝 177原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值