java - 在点击芯片上获取芯片文本
问题描述
我是 android 新手,正在尝试玩筹码。我在xml中有这样的芯片组
<com.google.android.material.chip.ChipGroup
android:padding="10dp"
android:id="@+id/tags"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:chipSpacing="10dp">
</com.google.android.material.chip.ChipGroup>
我正在其中动态添加这样的芯片。
Chip chip = new Chip(getLayoutInflater().getContext());
for(String genre : tags_text) {
chip.setText(genre);
tags.addView(chip);
}
添加芯片工作正常。现在我想得到点击芯片的芯片文本。我想像这样
chip.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int chipsCount = tags.getChildCount();
String TagText ="";
int i = 0;
while (i < chipsCount) {
Chip chip = (Chip) tags.getChildAt(i);
if (chip.isChecked() ) {
TagText = chip.getText().toString();
}
i++;
};
Log.e("CHIPS", TagText+"-OK");
}
});
但我总是收到空文本。让我知道是否有人可以帮助我解决它。谢谢!
解决方案
您可以使用:
chip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = ((Chip) view).getText().toString();
//...
}
});
推荐阅读
- wpf - WPF MVVM 中的颜色变化
- vue.js - 如何在 Nuxt App 中使用重定向而不闪烁?
- javascript - 如何在鼠标移动时赋予效果粒子,在画布中悬停时如何赋予发光效果
- git - 关于制作存储库结构的问题
- python - Cumsum在python中返回一个向量
- java - kotlin如何对列表进行排序
- .net - 在 Asp.NET Core Azure AD 身份验证中配置重定向 URI
- flutter - Flutter WebView 插件在 iOS 14+ 上安装时会导致应用崩溃
- c++ - 需要遍历整个对象,除了前两个元素。有设计模式吗?
- tableau-api - 如何通过表格中的参数字段设置过滤器值?