0
확장형 목록보기 어댑터를 구현하려고합니다.Android : 확장 목록보기 구현
나는
private Map<Group, List<Contact>> groupedContactList = new HashMap<Group, List<Contact>>();
내가
getGroup
방법의 벌금을 오버라이드 어댑터에 나타내는 메신저이 데이터를 가지고 있고 그것은 작동하지만 아이가 목록을하고 있는지 확실하지 않습니다 메신저 때문에 나는
getChild
메서드를 재정의하는 데 문제가 있어요 전체 목록 또는 목록에 단 하나의 멤버 만 반환해야합니다.
편집 : 전체 클래스
public class MyGroupsAdapter extends BaseExpandableListAdapter {
private LayoutInflater mInflater;
private Context context;
private Map<Group, List<Contact>> groupedContactList = new HashMap<Group, List<Contact>>();
public MyGroupsAdapter(HashMap<Group, List<Contact>> groupedContactList,
Context context) {
this.groupedContactList = groupedContactList;
this.context = context;
mInflater = LayoutInflater.from(context);
}
@Override
public Contact getChild(int groupPosition, int childPosition) {
return getGroup(groupPosition+1).getContactsInGroup().get(childPosition+1);
}
@Override
public long getChildId(int arg0, int arg1) {
return arg0;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String contactRow = (String) getChild(groupPosition,
childPosition).getFullName();
mInflater = LayoutInflater.from(context);
if (convertView == null) {
convertView = mInflater.inflate(
R.layout.groups_exp_list_view_child, null);
}
TextView item = (TextView) convertView.findViewById(R.id.ListItem);
item.setText(contactRow);
return convertView;
}
@Override
public int getChildrenCount(int arg0) {
return groupedContactList.size();
}
@Override
public Group getGroup(int arg0) {
// return
// groupedContactList.get(HomeScreenActivity.groupsDB.getGroup(arg0+1));
return (Group)groupedContactList.keySet().toArray()[arg0];
//return HomeScreenActivity.groupsDB.getGroup(arg0 + 1);
}
@Override
public int getGroupCount() {
return groupedContactList.keySet().size();
}
@Override
// /PROBABLY WRONGH
public long getGroupId(int arg0) {
return arg0;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
final String groupName = getGroup(groupPosition).getName();
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(
R.layout.groups_exp_list_view_header, null);
}
TextView item = (TextView) convertView.findViewById(R.id.ListHeader);
item.setTypeface(null, Typeface.BOLD);
item.setText(groupName);
return convertView;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public boolean isChildSelectable(int arg0, int arg1) {
return true;
}
}
전체 수업을 게시 할 수 있습니까? – Harshid
@ 하 시드 나는 그것을 게시했다. getChild가 작동하지 않습니다. – Ogen