android重写listview使用addHeaderView和addFooterView注意事项

1、添加addHeaderView或addFooterView

对listview添加headerView或footerView时,可以选择addHeaderView(headView)或addHeaderView(headView, null, false),注意后者第三个参数boolean isSelectable,对于listview中设置onItemClick事件,需要将isSelectable设为false,从而保证点击APP出现异常

2、Item中包含按钮或点击控件

如果listview的item中拥有像button这样的控件,该控件会将listview的onItemClick事件屏蔽掉,可以在Item的XML文件中设置android:descendantFocusability=”afterDescendants”或在程序中设置setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS)来阻塞子控件抢夺焦点,保证item和子控件都可以正常执行。

时间: 2024-10-01 07:28:43

android重写listview使用addHeaderView和addFooterView注意事项的相关文章

Android listview addHeaderView 和 addFooterView 详解

addHeaderView()方法:主要是向listView的头部添加布局 addFooterView()方法:主要是向listView的底部添加布局 需要注意的是添加布局的时候应该添加从父容器开始添加,而不能直接添加父容器中的子控件.例如:从一个xml布局文件中添加一个button控件, 只能将整个布局xml文件添加进去.而不能单单只添加button控件. 当添加头部和底部布局还有另外一个重载方法就是addHeaderView(headView, null, false) 和addFooter

android listview addHeaderView和addFooterView的注意事项

1. item内如果有button等控件时,在监听listview的onitemclick事件时,焦点会被item内的button. imagebutton等控件抢走,从而导致在listview设置了onitemclick事件后不会被触发.解决方法是在初始化item的时候屏蔽掉 其内部button等控件的焦点获取,具体方法可以在自定义item的根控件中调用: [java] view plaincopy setDescendantFocusability(ViewGroup.FOCUS_BLOCK

Android中ListView的addFooterView不显示的问题

mListView.addFooterView(btn_more, null, false); mListView.setAdapter(mBlogListAdapter); 把addFootView放在setAdapter之前就可解决. Android中ListView的addFooterView不显示的问题

Android -- 重写BaseAdapter以及对ListView的优化

背景 对于ListView.GridView.Gallery.Spinner等等,它是它们的适配器,直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,BaseAdapter与其他Adapter有些不一样,其他的Adapter可以直接在其构造方法中进行数据的设置: SimpleAdapter adapter = new SimpleAdapter(this, getData(), R.layou

ListView addHeaderView()、addFooterView()和变更列表

addHeaderView().addFooterView() addHeaderView()和addFooterView()是用于在给ListView设置Adapter之前在列表中添加或删除一些元素. 主要有以下几点注意事项: 两个方法必须在setAdapter()之前调用.如果之前调用过addHeaderView()或addFooterView(),在setAdapter(A)时,真正设置的是另一个adapter B,把之前预添加的元素和A中的元素统一由B来管理. 多次调用addHeader

android 安卓 listview 支持下拉刷新 上拉加载更多

[1]重写listView import java.text.SimpleDateFormat; import java.util.Date; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.ViewGrou

重写ListView实现下拉刷新上拉加载

安卓本身的ListView没有刷新功能,要想实现这一功能,就得继承ListView并重写它的方法.同时也要实现其OnScrollListener这一接口. 下拉刷新,需要在原本的ListView上部添加一个Head,ListView本身提供了addHeadView()这一方法,但是没有实现刷新的功能,我们可以自定义Head的内容,并加上刷新的功能. 上拉加载更多数据与下拉刷新类似,是在ListView的下部添加一个Footer.具体实现代码如下: import java.text.SimpleD

android中listView下拉刷新

Android的ListView是应用最广的一个组件,功能强大,扩展性灵活(不局限于ListView本身一个类),前面的文章有介绍分组,拖拽,3D立体,游标,圆角,而今天我们要介绍的是另外一个扩展ListView:下拉刷新的ListView.    下拉刷新界面最初流行于iphone应用界面,如图:     然后在Android中也逐渐被应用,比如微博,资讯类.    所以,今天要实现的结果应该也是类似的,先贴出最终完成效果,如下图,接下来我们一步一步实现. 1. 流程分析    下拉刷新最主要

android的ListView点击item使item展开的做法

直接上代码把.主要是又一次给item measure高度,直接上代码把 import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchList