Android Open Source - wiki-contacts-android Result Adaptor






From Project

Back to project page wiki-contacts-android.

License

The source code is released under:

Apache License

If you think the Android project wiki-contacts-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.kahkong.wikicontacts.subcontroller;
/* w  w w. j  a  v  a 2s . c om*/
import java.util.List;

import com.kahkong.wikicontacts.R;
import com.kahkong.wikicontacts.modal.ContactAndImage;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * 
 * @author Poh Kah Kong
 *
 */
public class ResultAdaptor extends BaseAdapter {
  private Context context;
  private List<ContactAndImage> contactAndImages;
  
  private static class ViewHolder {
    public TextView nameTV;
    public TextView descriptionTV;
    public TextView tagsTV;
    public ImageView imageIV;
  }

  public ResultAdaptor(Context context, List<ContactAndImage> contactAndImages) {
    this.context = context;
    this.contactAndImages = contactAndImages;
  }

  @Override
  public int getCount() {
    if (contactAndImages==null) {
      return 0;
    }
    return contactAndImages.size();
  }

  @Override
  public Object getItem(int position) {
    if (contactAndImages==null) {
      return null;
    }
    return contactAndImages.get(position);    
  }

  @Override
  public long getItemId(int position) {
    return position;
  }

  @Override
  public View getView(final int position, View convertView, ViewGroup parent) {
    if (contactAndImages==null) {
      return null;
    }

    ViewHolder viewHolder = null;
    if (convertView == null) {
      LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      convertView = layoutInflater.inflate(R.layout.result, null);

      viewHolder = new ViewHolder();
      viewHolder.nameTV = (TextView) convertView.findViewById(R.id.resultNameTV);
      viewHolder.descriptionTV = (TextView) convertView.findViewById(R.id.resultDescriptionTV);
      viewHolder.tagsTV = (TextView) convertView.findViewById(R.id.resultTagsTV);
      viewHolder.imageIV = (ImageView) convertView.findViewById(R.id.resultImageIV);
      convertView.setTag(viewHolder);
    }  else {
      viewHolder = (ViewHolder) convertView.getTag();    
    }



    final ContactAndImage contactAndImage = contactAndImages.get(position);    

    viewHolder.nameTV.setText(contactAndImage.getName());    
    if (contactAndImage.getDescription()!=null) {
      viewHolder.descriptionTV.setVisibility(View.VISIBLE);
      viewHolder.descriptionTV.setText(contactAndImage.getDescription());
    } else {
      viewHolder.descriptionTV.setVisibility(View.GONE);
    }    
    if (contactAndImage.getTags()!=null) {
      viewHolder.tagsTV.setVisibility(View.VISIBLE);
      viewHolder.tagsTV.setText("Tags: " + ViewFormatter.arrayToString(contactAndImage.getTags()));  
    } else {
      viewHolder.tagsTV.setVisibility(View.GONE);
    }

    if (contactAndImage.getImage()!=null) {
      viewHolder.imageIV.setImageBitmap(contactAndImage.getImage());
    } else {
      viewHolder.imageIV.setImageResource(R.drawable.ic_launcher);
    }
    return convertView;
  }

  public void setContacts(List<ContactAndImage> contactAndImages) {
    this.contactAndImages = contactAndImages;
  }

  public void clear() {
    if (contactAndImages==null) {
      return;
    }
    contactAndImages.clear();
    notifyDataSetChanged();
  }
}




Java Source Code List

com.kahkong.wikicontacts.callback.OnChangeListener.java
com.kahkong.wikicontacts.callback.OnClickListener.java
com.kahkong.wikicontacts.callback.OnCompleteListener.java
com.kahkong.wikicontacts.callback.OnEventListener.java
com.kahkong.wikicontacts.callback.OnTimeOutListener.java
com.kahkong.wikicontacts.callback.Validator.java
com.kahkong.wikicontacts.controller.AddEditContactActivity.java
com.kahkong.wikicontacts.controller.CallDetectService.java
com.kahkong.wikicontacts.controller.EditContactActivity.java
com.kahkong.wikicontacts.controller.SearchActivity.java
com.kahkong.wikicontacts.controller.TestActivity.java
com.kahkong.wikicontacts.controller.UpdateEditContactActivity.java
com.kahkong.wikicontacts.form.EditTextForm.java
com.kahkong.wikicontacts.form.ImageUploadForm.java
com.kahkong.wikicontacts.form.MultiEditTextForm.java
com.kahkong.wikicontacts.form.OptionsForm.java
com.kahkong.wikicontacts.form.RadioGroupForm.java
com.kahkong.wikicontacts.form.SpinnerForm.java
com.kahkong.wikicontacts.form.TagsForm.java
com.kahkong.wikicontacts.link.EmailLink.java
com.kahkong.wikicontacts.link.Link.java
com.kahkong.wikicontacts.link.NumberLink.java
com.kahkong.wikicontacts.link.TagLink.java
com.kahkong.wikicontacts.link.UrlLink.java
com.kahkong.wikicontacts.modal.ContactAndImage.java
com.kahkong.wikicontacts.modal.Contact.java
com.kahkong.wikicontacts.modal.CountryCode.java
com.kahkong.wikicontacts.modal.CountryCodesWithSelect.java
com.kahkong.wikicontacts.service.ContactServiceImpl.java
com.kahkong.wikicontacts.service.ContactService.java
com.kahkong.wikicontacts.service.CountryCodeServiceImpl.java
com.kahkong.wikicontacts.service.CountryCodeService.java
com.kahkong.wikicontacts.service.ImageServiceImpl.java
com.kahkong.wikicontacts.service.ImageService.java
com.kahkong.wikicontacts.service.IntentServiceImpl.java
com.kahkong.wikicontacts.service.IntentService.java
com.kahkong.wikicontacts.service.NotificationServiceImpl.java
com.kahkong.wikicontacts.service.NotificationService.java
com.kahkong.wikicontacts.service.PhoneBookServiceImpl.java
com.kahkong.wikicontacts.service.PhoneBookService.java
com.kahkong.wikicontacts.service.PreferencesServiceImpl.java
com.kahkong.wikicontacts.service.PreferencesService.java
com.kahkong.wikicontacts.service.ResourceServiceImpl.java
com.kahkong.wikicontacts.service.ResourceService.java
com.kahkong.wikicontacts.service.ValidationServiceImpl.java
com.kahkong.wikicontacts.service.ValidationService.java
com.kahkong.wikicontacts.service.WebServiceImpl.java
com.kahkong.wikicontacts.service.WebService.java
com.kahkong.wikicontacts.subcontroller.CallStateListener.java
com.kahkong.wikicontacts.subcontroller.FlowLayout.java
com.kahkong.wikicontacts.subcontroller.IncomingContactLayout.java
com.kahkong.wikicontacts.subcontroller.InfoDialog.java
com.kahkong.wikicontacts.subcontroller.LoadingDialog.java
com.kahkong.wikicontacts.subcontroller.ResultAdaptor.java
com.kahkong.wikicontacts.subcontroller.ViewContactDialog.java
com.kahkong.wikicontacts.subcontroller.ViewFormatter.java