使用 Onclick 侦听器将选定的 ChipGroup 芯片文本放入剪贴板

Posted

技术标签:

【中文标题】使用 Onclick 侦听器将选定的 ChipGroup 芯片文本放入剪贴板【英文标题】:Get Selected ChipGroup Chip Text Into Clipboard Using Onclick Listener 【发布时间】:2020-08-10 22:03:10 【问题描述】:

如何通过 OnclickListener 从 ChipGroup 中获取选中的 Chip 项文本。这是我到目前为止所做的。我无法将所选项目添加到剪贴板:

            for(int i=0; i<tagsJsonArray.length();i++)
                try 
                    String tag;
                    tag = tagsJsonArray.getString(i);
                    LayoutInflater inflater = LayoutInflater.from(YTTags.this);
                    Chip chip = (Chip) inflater.inflate(R.layout.my_tag,null,false);
                    chip.setText(tag);
                    chip.setClickable(true);
                    chip.setCheckable(true);
                    chipGroup.addView(chip);
                    chip.setOnClickListener(new View.OnClickListener() 
                        @Override
                        public void onClick(View v) 

                            ClipboardManager copytag = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                            ClipData clip = ClipData.newPlainText("tag", "Hi");
                            copytag.setPrimaryClip(clip);
                            Toast.makeText(YTTags.this, "Copied",Toast.LENGTH_LONG).show();
                        
                    );
                catch (JSONException e)
                    e.printStackTrace();
                
            

Onclick 侦听器单词很好,并复制了我在 ClipData 剪辑中设置的虚拟文本。但我想访问芯片项目文本。

【问题讨论】:

这能回答你的问题吗? ***.com/questions/6710350/… 否则你可以试试 ClipboardManager developer.android.com/reference/android/text/ClipboardManager 不,我的意思是芯片项目甚至点击。如何访问芯片项文本字符串? 【参考方案1】:

这可能对你有帮助!

public void onClick(View v) 
    ChipGroup chg = findViewById(R.id.chipGroup);
    int chipsCount = chg.getChildCount();

    int i = 0;
    while (i < chipsCount) 
      Chip chip = (Chip) chg.getChildAt(i);
      if (chip.isChecked() ) 
         msg += chip.getText().toString() + " " ;  
      
      i++;
    ; 
    // show message here

【讨论】:

以上是关于使用 Onclick 侦听器将选定的 ChipGroup 芯片文本放入剪贴板的主要内容,如果未能解决你的问题,请参考以下文章

使用多个 onclick 侦听器将多个 url 传递给 recyclerview 中的 itemview

将所有 onclick 更改为事件侦听器

将 onclick 侦听器添加到预定义按钮?

按钮 onClick 事件侦听器在 Electron 应用程序中不起作用

如何从Button的onClick侦听器中删除Firebase DataBase

OnClick 侦听器应用于整个卡片视图,而不仅仅是 textView