在点击芯片上获取芯片文本
Get Chip Text on click chip
我是 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();
//...
}
});
我是 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();
//...
}
});