如何访问从Android中的芯片组动态添加的芯片名称和ID?

时间:2019-08-16 10:24:01

标签: android material-components-android android-chips

我已经从芯片组动态添加了芯片,因此,当用户从列表中选择项目时,这些芯片就会添加到芯片组中。现在的问题是如何获得芯片组中每个芯片的名称?

当用户单击列表视图中的项目时,将调用此setTag(String tagName)方法。然后在芯片组字段中将项目转换为芯片。

private void setTag(String tagName)
{
    final Chip chip = new Chip(activity);
    int paddingDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10, getResources().getDisplayMetrics());
    chip.setPadding(paddingDp, paddingDp, paddingDp, paddingDp);
    chip.setChecked(true);
    chip.setText(tagName);
    chip.setCloseIconResource(R.drawable.ic_close_black_24dp);
    chip.setCloseIconEnabled(true);
    // Added click listener on close icon to remove tag from ChipGroup
    chip.setOnCloseIconClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            chipGroup.removeView(chip);
        }
    });
    chipGroup.addView(chip);
}

1 个答案:

答案 0 :(得分:0)

使用类似的东西:

for (int i=0; i<chipGroup.getChildCount();i++){
      Chip chip = (Chip)chipGroup.getChildAt(i);
      String chipText = chip.getText();
      // Do something
}