首页 > 代码库 > ListView分栏的实现
ListView分栏的实现
ListView分栏(Columnar ListView)的好处在于,区分内容,便于用户操作选择。核心思想是:在指定位置插入标题内容。
实现方法如下:
1, 实现Adapter的areAllItemsEnabled()方法和isEnabled()方法,确定内容
显然,ListView的Item中,标题不可被操作,内容部分可响应点击(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;
}
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
ListView分栏的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。