ListView使用总结(二)

本文详细介绍了如何在ListView中使用addHeaderView()方法添加HeaderView,包括不同重载方法的使用,如控制headerView的选中状态,以及addHeaderView()与setAdapter()的调用顺序。同时,文章还讲解了如何通过LayoutInflater加载布局作为HeaderView。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

addHeaderView()
  • ListView.addHeaderView(view)可以在ListView顶部添加其他的组件并连在一起形成新的组件,并且addHeaderView()会按照添加顺序将header从上至下进行罗列
textView = new TextView(this);
textView.setText("WJX");
String[] arrs = {
        "aaa",
        "bbb",
        "ccc",
        "ddd",
        "eee",
        "fff",
        "ggg",
        "hhh"
};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter(this, R.layout.array_item, arrs);
listView.addHeaderView(textView);
listView.setAdapter(arrayAdapter);
addHeaderView()重载方法
  • addHeaderView(view, null, true)
    • 可以控制headerView是否被selected, true为selected, false为非selected
addHeaderView()和setAdapter()方法调用顺序
  • 要在setAdapter()方法调用之前,调用addHeaderView(),即在listView绑定adapter之前添加headerView
    • 因为在调用setAdapter()时listView会判断当前是否有headerView和footView,如果添加了两者中的任何一个都会生成一个包含原有item的新的listView
headerView和footView的响应
  • headerView和footView都会响应onItemClick()方法,headerView为第一个item,footerView为最后一个item
使用addHeaderView加载布局

View headerView = getLayoutInflater().inflate(R.layout.list_header_view, null);
Button button = headerView.findViewById(R.id.header_button);
TextView headerTextView = headerView.findViewById(R.id.header_text);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter(this, R.layout.array_item, arrs);
listView.addHeaderView(headerView);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wjxbless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值