0

Я пытался выяснить, как использовать библиотеку MaterialLetterIcon какое-то время без успеха. У меня есть пользовательский список с каждым элементом, используя изображение ниже. Выбор изображения. Этот файл XML называется da_item.xmlКак реализовать библиотеку MaterialLetterIcon для моего выбора контактов?

enter image description here

В настоящее время ImageView (@ + идентификатор/contactImage) ничего не делает. Вот мой список.

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     final ViewHolder holder; 

     if (convertView == null) { 
      holder = new ViewHolder(); 
      convertView = getLayoutInflater().inflate(R.layout.da_item, parent, false); 
      holder.number = (TextView) convertView.findViewById(R.id.NumberView); 
      holder.text = (TextView) convertView.findViewById(R.id.NameView); 
      holder.checkbox = (CheckBox) convertView.findViewById(R.id.checkBox); 
      holder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

       @Override 
       public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
        int getPosition = (Integer) buttonView.getTag(); // Here we get the position that we have set for the checkbox using setTag. 
        list.get(getPosition).setSelected(buttonView.isChecked()); // Set the value of checkbox to maintain its state. 
       } 
      }); 
      convertView.setTag(holder); 
      convertView.setTag(R.id.NameView, holder.text); 
      convertView.setTag(R.id.NumberView, holder.number); 
      convertView.setTag(R.id.checkBox, holder.checkbox); 
      convertView.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
       holder.checkbox.setChecked(!holder.checkbox.isChecked()); 
       } 
      }); 
      holder.text.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        holder.checkbox.setChecked(!holder.checkbox.isChecked()); 
       } 
      }); 
      holder.number.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        holder.checkbox.setChecked(!holder.checkbox.isChecked()); 
       } 
      }); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 
     holder.checkbox.setTag(position); // This line is important. 

     holder.text.setText(list.get(position).getName()); 
     holder.number.setText(list.get(position).getPhone()); 
     holder.checkbox.setChecked(list.get(position).isSelected()); 

     return convertView; 
    } 

Я понимаю, как добавить библиотеку, но я совсем не уверен, как ее использовать. Любые предложения или другие библиотеки, чтобы сделать то же самое, тоже были бы оценены!

+0

GitHub репо библиотеки имеет README с разделом «Использование», описывая, как используйте библиотеку. Вы читали его? Что конкретно вы не понимаете в использовании? Если вы считаете, что шаги интеграции неясны, укажите файл GitHub. – Egor

ответ

0

Попробуйте использовать MaterialLetterIcon как таким образом, что это именно то, что вы ищете

ColorGenerator generator = ColorGenerator.MATERIAL; // or use DEFAULT 
     // generate random color 
     int color = generator.getColor(getItem(position)); 
     //int color = generator.getRandomColor(); 

     TextDrawable drawable = TextDrawable.builder() 


       .buildRound(firstLetter, color); // radius in px 

Для получения дополнительной Проверка ListViewWithLetterIcon