首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >点击芯片获取芯片文本

点击芯片获取芯片文本
EN

Stack Overflow用户
提问于 2020-10-10 02:32:12
回答 1查看 2.5K关注 0票数 0

我是android的新手,我试着玩芯片。我在xml中有这样的芯片组

代码语言:javascript
运行
复制
<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>

我在里面动态地添加了这样的芯片。

代码语言:javascript
运行
复制
Chip chip = new Chip(getLayoutInflater().getContext());
            for(String genre : tags_text) {
               chip.setText(genre);
               tags.addView(chip);
           }

添加芯片很好。现在我要得到点击芯片的芯片文本。我正试着像这样

代码语言:javascript
运行
复制
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");
                                        }
                                    });

但我总是收到空的短信。如果有人能帮我解决这个问题请告诉我。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-10 05:54:23

您可以使用:

代码语言:javascript
运行
复制
    chip.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String text = ((Chip) view).getText().toString();
            //...
        }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64289422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档