2017-05-09 14 views
1

私はexpandableItemにバッジを示しています。ユーザーがそのアイテムをクリックすると、expandableItem内のバッジが消えて、サブアイテムにバッジが表示されます。 私のコードでは、クリックするとバッジは消えますが、サブアイテムは表示されません。私が間違っていることは何ですか?おかげさまで MaterialBrawer AndroidのexpandableアイテムのupdateBadge

result = new DrawerBuilder() 
      .withActivity(this) 
      .withToolbar(appbar) 
      .withHasStableIds(true) 
      .withAccountHeader(headerResult) 
      .addDrawerItems(
        ... 

        new ExpandableBadgeDrawerItem().withName("Collapsable Badge").withIcon(R.drawable.ic_menu_exp).withIdentifier(18).withSelectable(false).withBadge("2").withBadgeStyle(new BadgeStyle().withTextColor(Color.WHITE).withColorRes(R.color.md_red_700)).withSubItems(
          new SecondaryDrawerItem().withName("CollapsableItem").withLevel(2).withIcon(R.drawable.ic_menu_send).withIdentifier(2000).withBadge("2").withBadgeStyle(new BadgeStyle().withTextColor(Color.WHITE).withColorRes(R.color.md_red_700)), 
          new SecondaryDrawerItem().withName("CollapsableItem 2").withLevel(2).withIcon(R.drawable.ic_menu_send).withIdentifier(2001) 
        ) 
      ) 
      .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
       @Override 
       public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 


        if (drawerItem != null) { 

         if (drawerItem.getIdentifier() == 18) { 
          result.updateBadge(18, null); 
         } 
        } 

        return false; 
       } 
      }) 
      .withSavedInstance(savedInstanceState) 
      .build(); 

答えて

2

親が、それは子供のを崩壊する更新された場合には、基本的にどのように下層FastAdapterハンドルの展開可能な項目の方法の結果だ、私はそれをチェックして、あなたは正しいです。これまでにのv3で改善される予定です。

//get the item from our drawerItem 
ExpandableBadgeDrawerItem d = (ExpandableBadgeDrawerItem) drawerItem; 
//remove the badge 
d.withBadge((StringHolder) null); 
//notify the adapter that the item was changed 
result.getAdapter().notifyItemChanged(result.getPosition(18)); 
関連する問題