Chip Group OnCheckedChangeListener() not triggered

后端 未结 6 884
遥遥无期
遥遥无期 2020-12-10 05:13

I\'m trying to make a recyclerview filter based ChipGroup & Chip

I\'m use fragment on my app, so, the fragment who contain the RecyclerView contain a fr

6条回答
  •  萌比男神i
    2020-12-10 06:03

    I will suggest don't make use of recyclerview with chips if you want horizontal scrolling because you got HorizontalScrollView and it works quite well with chipgroup:

    Based on Nilesh Rathod's Answer. To add chips dynamically you need following code:

    Activity File Code:

    String[] fileNameChip = getIntent().getStringArrayExtra(Constants.CHIPS_NAME_ARRAY);
    
            for (final String chipName : fileNameChip) {
                 LayoutInflater layoutInflater = getLayoutInflater();
                 Chip chip = (Chip) 
                 layoutInflater.inflate(R.layout.cat_chip_group_item_choice, chipGroup, false);
                 chip.setText(chipName);
                 chip.setId(i); //HERE SET ID THAT WILL BE CHECKED_ID ON setOnCheckedChangeListener
    
                 chip.setOnClickListener(new View.OnClickListener() {
                      @Override
                      public void onClick(View v) {
                         Log.d(TAG, "onClick: " + chipName );
                         }
                      });
                      chipGroup.addView(chip);
                  }  
                  chipGroup.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {
                       @Override
                       public void onCheckedChanged(ChipGroup group, int checkedId) {
                              Log.d(TAG, "onCheckedChanged: " + checkedId);
                           }
                        });
    

    Activity XML FILE:

    
    
    
    
        
    
    

    cat_chip_group_item_choice.xml:(Specify chip type:Choice,filter,Action,Normal)

    
    
    

提交回复
热议问题