How to implement Expandable android navigation drawer with subitems?

前端 未结 2 822
你的背包
你的背包 2020-12-29 13:39

How to implement android navigation drawer like this?

TopLevelView1 ~ TopLevelView4 can select and no children
TopVevelView5 can collaspe

My question is

2条回答
  •  遥遥无期
    2020-12-29 14:04

    Try something like that

    
    
        
    
            
        
    
    

    Java code:

    drawerListView.setAdapter(new ExpandableListAdapter() {
    
                @Override
                public void unregisterDataSetObserver(DataSetObserver observer) {
                    // TODO Auto-generated method stub
    
                }
    
                @Override
                public void registerDataSetObserver(DataSetObserver observer) {
                    // TODO Auto-generated method stub
    
                }
    
                @Override
                public void onGroupExpanded(int groupPosition) {
                    // TODO Auto-generated method stub
    
                }
    
                @Override
                public void onGroupCollapsed(int groupPosition) {
                    // TODO Auto-generated method stub
    
                }
    
                @Override
                public boolean isEmpty() {
                    // TODO Auto-generated method stub
                    return false;
                }
    
                @Override
                public boolean isChildSelectable(int groupPosition, int childPosition) {
                    // TODO Auto-generated method stub
                    return false;
                }
    
                @Override
                public boolean hasStableIds() {
                    // TODO Auto-generated method stub
                    return true;
                }
    
                @Override
                public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
                    // TODO Auto-generated method stub
                    TextView view = new TextView(getApplicationContext());
                    view.setText("group " + groupPosition);
                    return view;
                }
    
                @Override
                public long getGroupId(int groupPosition) {
                    // TODO Auto-generated method stub
                    return groupPosition;
                }
    
                @Override
                public int getGroupCount() {
                    // TODO Auto-generated method stub
                    return 5;
                }
    
                @Override
                public Object getGroup(int groupPosition) {
                    // TODO Auto-generated method stub
                    return null;
                }
    
                @Override
                public long getCombinedGroupId(long groupId) {
                    // TODO Auto-generated method stub
                    return 0;
                }
    
                @Override
                public long getCombinedChildId(long groupId, long childId) {
                    // TODO Auto-generated method stub
                    return 0;
                }
    
                @Override
                public int getChildrenCount(int groupPosition) {
                    // TODO Auto-generated method stub
                    return 5;
                }
    
                @Override
                public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView,
                        ViewGroup parent) {
                    TextView view = new TextView(getApplicationContext());
                    view.setText("child " + groupPosition);
                    return view;
                }
    
                @Override
                public long getChildId(int groupPosition, int childPosition) {
                    // TODO Auto-generated method stub
                    return childPosition ;
                }
    
                @Override
                public Object getChild(int groupPosition, int childPosition) {
                    // TODO Auto-generated method stub
                    return null;
                }
    
                @Override
                public boolean areAllItemsEnabled() {
                    // TODO Auto-generated method stub
                    return false;
                }
            });
    

提交回复
热议问题