Пример #1
0
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    // final View result;
    ViewHolderItem viewHolder;

    // inflate the layout
    LayoutInflater inflater = ((Activity) context).getLayoutInflater();
    convertView = inflater.inflate(R.layout.adapter_layout, parent, false);

    // if (convertView == null) {
    // well set up the ViewHolder
    viewHolder = new ViewHolderItem();
    viewHolder.name = (TextView) convertView.findViewById(R.id.name);
    viewHolder.phone = (TextView) convertView.findViewById(R.id.phone);
    viewHolder.picture = (ImageView) convertView.findViewById(R.id.picture);
    viewHolder.favori = (ImageView) convertView.findViewById(R.id.favoris);
    // store the holder with the view.
    convertView.setTag(viewHolder);
    /*} else
    viewHolder = (ViewHolderItem) convertView.getTag();*/

    final Contact contact = (Contact) getItem(position);
    viewHolder.name.setText(contact.getName());
    viewHolder.phone.setText(contact.getPhone());

    viewHolder.favori.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            contact.setFav(!contact.getFav());
            ContactDB.getDataBase().updateContact(contact);
            notifyDataSetChanged();
          }
        });

    if (contact.getFav()) viewHolder.favori.setImageResource(android.R.drawable.btn_star_big_on);
    else viewHolder.favori.setImageResource(android.R.drawable.btn_star_big_off);

    Uri uri = contact.getPicture();
    if (!(uri == null || uri.toString().isEmpty())) {
      try {
        Bitmap bmp = getBitmapFromUri(uri, context);
        viewHolder.picture.setImageBitmap(RoundedImageView.getCroppedBitmap(bmp, 120));
      } catch (Exception e) {
        Log.e("ProfileAdapter", e.getMessage());
        e.printStackTrace();
      }
    }

    return convertView;
  }