2014-03-05 71 views

回答

1

由于您需要一些可点击的项目来显示其他信息(点击一个联系人)和其他不可点击的项目(起始字母表的联系人列表)然后使用ExpandableListView将是解决此类问题的理想方案。

首先,您需要开发一个自定义的ExpandableListView适配器。参阅本http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/

实现这个自定义适配器后,我们将有两个额外的问题,即是选择

  • 集团项目和其他人不可选,可选的项目联系人项目和非可选项目是字母表。使这个你可以检查是具有多于一个视图这Expandandable listview with child items at root
  • 集团的项目,在这种情况下,你需要添加以下两种方法:

大号

final int VIEWTYPE_GROUP_CONTACT = 0; 
final int VIEWTYPE_GROUP_ALPHABET = 1; 
final int VIEWTYPE_GROUP_COUNT = VIEWTYPE_GROUP_ALPHABET + 1; 

... 

@Override 
public int getGroupTypeCount() { 
    return VIEWTYPE_GROUP_COUNT; 
} 

@Override 
public int getGroupType(int groupPosition) { 
    if (mGroupCollection.get(groupPosition) instanceof Alphabet) 
     return VIEWTYPE_GROUP_ALPHABET; 
    if (mGroupCollection.get(groupPosition) instance of ContactDetails) 
     return VIEWTYPE_GROUP_CONTACT; 

    return super.getGroupType(groupPosition); 
}