ListView分栏的实现

本文详细介绍了如何使用ListView实现分栏功能,包括通过自定义Adapter方法区分内容与标题,以及在显示内容中添加标题的方法。实现了标题不可操作而内容可响应点击与长按的功能,并展示了最终的效果。
ListView分栏(Columnar ListView)的好处在于,区分内容,便于用户操作选择。核心思想是:在指定位置插入标题内容。
实现方法如下:
1,   实现AdapterareAllItemsEnabled()方法和isEnabled()方法,确定内容
显然,ListViewItem中,标题不可被操作,内容部分可响应点击(click)和长按(longClick)时间。设置如下:
    @Override
    public boolean areAllItemsEnabled() {

        // TODO Auto-generated method stub

        return false;

    }

    @Override
    public boolean isEnabled(int position) {

        // TODO Auto-generated method stub

        if (position == 0 || position == 4) {//

            return false;

        } else {

            return true;

        }

    }

 

2,ListView要显示的内容中,添加两个标题内容。如增加数组长度或StringArray长度等。
 
3,   getView()方法中,做判断,代码如下:
if (position == 0 || position == 4) { 
        TextView textView =  new TextView(MainActivity. this); 
        textView.setText(mMainListContents[position]); 
        textView.setBackgroundColor(android.R.color.black); 
         return textView; 
      }
 
4,效果如下:

 \

 

Ps: (当isEnable()返回false时,divider不可见)

 

原文:http://mikewang.blog.51cto.com/3826268/737715
参考:http://stackoverflow.com/questions/5375138/disappearing-divider-in-listview-when-arrayadapter-isenabled-returns-false/5501803#5501803

转载于:https://www.cnblogs.com/veins/p/4159595.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值