Получить выбранный ChipGroup Chip Text в буфер обмена с помощью Onclick Listener - PullRequest
0 голосов
/ 27 апреля 2020

Как получить текст выбранного элемента Chip из ChipGroup через OnclickListener. Вот что я сделал до сих пор. Я не могу получить выбранный элемент в ClipBoard:

            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. Но я хочу получить доступ к тексту элемента чипа.

1 Ответ

0 голосов
/ 27 апреля 2020

это может вам помочь!

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...