Android Open Source - SwitchTabs Hotel List Adapter






From Project

Back to project page SwitchTabs.

License

The source code is released under:

Apache License

If you think the Android project SwitchTabs 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.normal.testdemo.adapters;
//w ww .j  a v  a  2s  .  com
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.normal.testdemo.R;
import com.normal.testdemo.beans.Hotel;
import com.normal.testdemo.utils.AsynImageLoader;

import java.util.List;

/**
 * Created by Normal on 2014/4/8.
 * This is the adapter of hotelListView in PlaceholderFragment.
 */
public class HotelListAdapter extends BaseAdapter {

  private List<Hotel> hotels;
  private LayoutInflater inflater;
  private AsynImageLoader loader;
  private Bitmap defaultBitmap;
  private Bitmap errorBitmap;


  public HotelListAdapter(Context context, List<Hotel> list) {
    inflater = LayoutInflater.from(context);
    this.hotels = list;
    // ?????????????
    defaultBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_loading);
    errorBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_error);
    // ????????
    loader = new AsynImageLoader(new Handler(), defaultBitmap, errorBitmap);
  }

  @Override
  public int getCount() {
    // ????????????
    if(hotels!=null){
      return hotels.size();
    }
    return 0;
  }

  @Override
  public Object getItem(int position) {
    // ?????????
    return hotels.get(position);
  }

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

  // ???????View??????????????????
  // ???????????????????????????????ViewHolder??
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    // ?????????????????????
    if (convertView == null) {
      convertView = inflater.inflate(R.layout.item, null);
      holder = new ViewHolder();
      holder.img_hotelPic = (ImageView) convertView.findViewById(R.id.img_hotel_pic);
      holder.tv_hotelName = (TextView) convertView.findViewById(R.id.tv_hotel_name);
      holder.tv_streetAddress = (TextView) convertView.findViewById(R.id.tv_street_address);
      convertView.setTag(holder);
    } else {
      holder = (ViewHolder) convertView.getTag();
    }
    holder.tv_hotelName.setText(hotels.get(position).getName());
    holder.tv_streetAddress.setText(hotels.get(position).getStreet_address());
    holder.img_hotelPic.setTag(hotels.get(position).getThumbnail());
    // ?????????
    loader.loadBitmap(holder.img_hotelPic);
    return convertView;
  }
}

class ViewHolder {
  ImageView img_hotelPic;
  TextView tv_hotelName;
  TextView tv_streetAddress;
}




Java Source Code List

com.normal.testdemo.activitys.MainActivity.java
com.normal.testdemo.activitys.SplashActivity.java
com.normal.testdemo.adapters.HotelListAdapter.java
com.normal.testdemo.adapters.SectionsPagerAdapter.java
com.normal.testdemo.beans.Hotel.java
com.normal.testdemo.beans.Hotels.java
com.normal.testdemo.fragments.PlaceholderFragment.java
com.normal.testdemo.utils.AsynImageLoader.java
com.normal.testdemo.utils.Utils.java
com.normal.testdemo.view.XListViewFooter.java
com.normal.testdemo.view.XListViewHeader.java
com.normal.testdemo.view.XListView.java