package org.softeg.slartus.forpdaplus.listfragments.adapters;/* * Created by slinkin on 13.03.14. */ import android.content.Context; import android.graphics.Bitmap; import android.view.LayoutInflater; import android.view.View; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import org.softeg.slartus.forpdaapi.devdb.DevModel; import org.softeg.slartus.forpdaplus.R; import java.util.ArrayList; public class DevDbModelsAdapter extends BaseAdapter { private final LayoutInflater mInflater; private ArrayList<DevModel> mData; private ImageLoader imageLoader; public DevDbModelsAdapter(Context context, ArrayList<DevModel> data) { mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mData = data; imageLoader=ImageLoader.getInstance(); } public void setData(ArrayList<DevModel> data) { mData = data; } @Override public int getCount() { return mData == null ? 0 : mData.size(); } @Override public Object getItem(int i) { return mData.get(i); } @Override public long getItemId(int i) { return i; } @Override public android.view.View getView(int position, android.view.View view, android.view.ViewGroup parent) { final ViewHolder holder; if (view == null) { view = mInflater.inflate(R.layout.dev_item, parent, false); holder = new ViewHolder(); assert view != null; holder.imageView = (ImageView) view.findViewById(R.id.imageView); holder.progressView = view.findViewById(R.id.progressView); holder.titleTextView = (TextView) view.findViewById(R.id.titleTextView); holder.descTextView = (TextView) view.findViewById(R.id.descTextView); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } DevModel item = mData.get(position); holder.titleTextView.setText(item.getMain()); holder.descTextView.setText(item.getDescription()); imageLoader.displayImage(item.getImgUrl(), holder.imageView, new ImageLoadingListener() { @Override public void onLoadingStarted(String p1, View p2) { p2.setVisibility(View.INVISIBLE); holder.progressView.setVisibility(View.VISIBLE); } @Override public void onLoadingFailed(String p1, View p2, FailReason p3) { holder.progressView.setVisibility(View.INVISIBLE); } @Override public void onLoadingComplete(String p1, View p2, Bitmap p3) { p2.setVisibility(View.VISIBLE); holder.progressView.setVisibility(View.INVISIBLE); } @Override public void onLoadingCancelled(String p1, View p2) { } }); return view; } class ViewHolder { ImageView imageView; View progressView; TextView titleTextView; TextView descTextView; } }