在我的案例中,如何在 android studio 中动态添加选择芯片
How to add choice chip dynamically in android studio in my case
我有模型 Class 像这样:
private String animalName, type;
public Model(){}
public Model(String animalName, String type){
this.animalName = animalName;
this.type = type;
}
//and getter and setters for all vars
和ArrayList<Model>();
根据我的模型class
所以我想检查我的 ArrayList<>()
是否包含特定类型,即。 食草动物
然后根据它们的类型将这些动物添加到不同的 ArrayList 中,我想根据我的类型制作 CHOICE CHIPS
。这是我的应用程序示例:
注意我正在使用 RecyclerView 显示图片
如何根据我的模型添加选择筹码Class
并且 OnClick 在任何筹码加载时都会显示相应的图像。
感谢任何解决方案。
您可以像这样或任何您想要的名称来创建方法
private void setChips(String type){
Chip chip = new Chip(this);
chip.setText(chipsTitle);
chip.setCheckable(true);
//if you not create chipGroup in you xml yet then create it
chipGroup.addView(chip);
}
然后您可以调用该方法并传递您的类型,即“食草动物”等。
setChips("Herbivores");
然后您可以像这样将 ClickListeners 添加到您的筹码中:
for (int i = 0; i < chipGroup.getChildCount(); i++) {
int finalI = i;
chipGroup.getChildAt(i).setOnClickListener(v -> {
Chip chip = chipGroup.findViewById(chipGroupFl.getChildAt(finalI).getId());
chip.setChecked(true);
//here you can call your method to load Images
});
}
我有模型 Class 像这样:
private String animalName, type;
public Model(){}
public Model(String animalName, String type){
this.animalName = animalName;
this.type = type;
}
//and getter and setters for all vars
和ArrayList<Model>();
根据我的模型class
所以我想检查我的 ArrayList<>()
是否包含特定类型,即。 食草动物
然后根据它们的类型将这些动物添加到不同的 ArrayList 中,我想根据我的类型制作 CHOICE CHIPS
。这是我的应用程序示例:
注意我正在使用 RecyclerView 显示图片
如何根据我的模型添加选择筹码Class 并且 OnClick 在任何筹码加载时都会显示相应的图像。
感谢任何解决方案。
您可以像这样或任何您想要的名称来创建方法
private void setChips(String type){
Chip chip = new Chip(this);
chip.setText(chipsTitle);
chip.setCheckable(true);
//if you not create chipGroup in you xml yet then create it
chipGroup.addView(chip);
}
然后您可以调用该方法并传递您的类型,即“食草动物”等。
setChips("Herbivores");
然后您可以像这样将 ClickListeners 添加到您的筹码中:
for (int i = 0; i < chipGroup.getChildCount(); i++) {
int finalI = i;
chipGroup.getChildAt(i).setOnClickListener(v -> {
Chip chip = chipGroup.findViewById(chipGroupFl.getChildAt(finalI).getId());
chip.setChecked(true);
//here you can call your method to load Images
});
}