package external.foldablelist.item; import java.util.ArrayList; import android.content.Context; import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.TextView; import com.aiyou.AiYouApplication; import com.aiyou.R; import com.aiyou.utils.SwitchManager; import com.azcltd.fluffycommons.adapters.ItemsAdapter; import com.azcltd.fluffycommons.utils.Views; import external.smartimageview.SmartImageView; public class PaintingsAdapter extends ItemsAdapter<Painting> implements View.OnClickListener { public interface OpenDetailsListener { public void onOpenDetails(View v, Painting item); } private OpenDetailsListener listener; public PaintingsAdapter(Context context, ArrayList<Painting> list, OpenDetailsListener listener) { super(context); setItemsList(list); this.listener = listener; } @Override protected View createView(Painting item, int pos, ViewGroup parent, LayoutInflater inflater) { ViewHolder vh; View view = LayoutInflater.from(parent.getContext()).inflate( R.layout.list_item_photoshow_list, parent, false); vh = new ViewHolder(); vh.fl = Views.find(view, R.id.list_item_photoshow_fl); vh.siv = Views.find(view, R.id.list_item_photoshow_image); vh.siv.setOnClickListener(this); vh.tv_title = Views.find(view, R.id.list_item_photoshow_title); view.setTag(vh); return view; } @Override protected void bindView(Painting item, int pos, View convertView) { ViewHolder vh = (ViewHolder) convertView.getTag(); int nX = 127; if (SwitchManager.getInstance(AiYouApplication.getInstance()) .isNightModeEnabled()) { nX = 0; vh.tv_title.setTextColor(Color.GRAY); } int nR = (int) (Math.random() * 128 + nX); int nG = (int) (Math.random() * 128 + nX); int nB = (int) (Math.random() * 128 + nX); int color = Color.rgb(nR, nG, nB); vh.fl.setBackgroundColor(color); vh.siv.setTag(item); vh.siv.setImageUrl(item.getImageUrl(), R.drawable.iu_default_gray, R.drawable.iu_default_green); vh.tv_title.setText(item.getTitle()); item.setColor(color); } @Override public void onClick(final View view) { if (listener != null) { listener.onOpenDetails(view, (Painting) view.getTag()); } } private static class ViewHolder { FrameLayout fl; SmartImageView siv; TextView tv_title; } }