【发布时间】:2015-07-08 19:29:08
【问题描述】:
我有一个包含在导航抽屉中的 ExpandableListView,每个 ExpandableListView 组都应将用户带到以下两个片段之一:AssignmentManagerFragment 和 SubjectManagerFragment。组中的第三个视图设置为将用户带到 SubjectManagerFragment,但出于某种原因,ALL 将用户带到了 AssignmentManagerFragment。知道为什么,或者可以做些什么来解决它?
这是我的代码:
drawerList.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id){
Fragment fragment;
FragmentManager fragmentManager;
Bundle args;
switch (groupPosition) {
case 0:
fragment = new AssignmentManagerFragment();
fragmentManager = getFragmentManager();
args = new Bundle();
args.putString(AssignmentManagerFragment.ARG_PARAM1, "" + groupPosition);
fragment.setArguments(args);
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
if (drawerList.isGroupExpanded(groupPosition)) {
drawerList.collapseGroup(groupPosition);
} else {
drawerList.expandGroup(groupPosition, false);
}
Toast.makeText(getBaseContext(), "Clicked On grooop: " + v.getTag() + "|" + groupPosition,
Toast.LENGTH_LONG).show();
case 1:
fragment = new AssignmentManagerFragment();
fragmentManager = getFragmentManager();
args = new Bundle();
args.putString(AssignmentManagerFragment.ARG_PARAM1, "" + groupPosition);
fragment.setArguments(args);
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
if (drawerList.isGroupExpanded(groupPosition)) {
drawerList.collapseGroup(groupPosition);
} else {
drawerList.expandGroup(groupPosition, false);
}
Toast.makeText(getBaseContext(), "Clicked On grooop: " + v.getTag() + "|" + groupPosition,
Toast.LENGTH_LONG).show();
case 2:
fragment = new SubjectManagerFragment();
fragmentManager = getFragmentManager();
args = new Bundle();
args.putString(SubjectManagerFragment.ARG_PARAM1, "" + groupPosition);
fragment.setArguments(args);
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
Toast.makeText(getBaseContext(), "Clicked On grooop: " + v.getTag() + "|" + groupPosition,
Toast.LENGTH_SHORT).show();
drawer.closeDrawer(drawerList);
case 3:
fragment = new AssignmentManagerFragment();
fragmentManager = getFragmentManager();
args = new Bundle();
args.putString(AssignmentManagerFragment.ARG_PARAM1, "" + groupPosition);
fragment.setArguments(args);
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
if (drawerList.isGroupExpanded(groupPosition)) {
drawerList.collapseGroup(groupPosition);
} else {
drawerList.expandGroup(groupPosition, false);
}
Toast.makeText(getBaseContext(), "Clicked On grooop: " + v.getTag() + "|" + groupPosition,
Toast.LENGTH_LONG).show();
case 4:
fragment = new AssignmentManagerFragment();
fragmentManager = getFragmentManager();
args = new Bundle();
args.putString(AssignmentManagerFragment.ARG_PARAM1, "" + groupPosition);
fragment.setArguments(args);
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
if (drawerList.isGroupExpanded(groupPosition)) {
drawerList.collapseGroup(groupPosition);
} else {
drawerList.expandGroup(groupPosition, false);
}
Toast.makeText(getBaseContext(), "Clicked On grooop: " + v.getTag() + "|" + groupPosition,
Toast.LENGTH_LONG).show();
}
return true;
}
});
【问题讨论】:
标签: android android-fragments expandablelistview