GiftGridAdapter.java 4.07 KB
package com.cnlive.goldenline.ui.adapter;

import android.content.Context;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
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.cnlive.goldenline.R;
import com.cnlive.goldenline.model.GiftItem;
import com.cnlive.goldenline.util.AppUtils;
import com.facebook.drawee.view.SimpleDraweeView;

import java.util.List;

/**
 * FileName:com.cnlive.goldenline.ui.adapter.GiftGridAdapter.java
 * Created on 2017/1/10
 * Version V1.0
 */

public class GiftGridAdapter extends BaseAdapter {

    protected Context mContext;
    private ImageView mImage;
    private List<GiftItem> mList;
    private LayoutInflater inflater;
    private int key;
    private int whit;

    public GiftGridAdapter(Context mContext) {
        this.mContext = mContext;
        inflater = LayoutInflater.from(mContext);
    }

    public GiftGridAdapter(Context mContext, int key) {
        this.mContext = mContext;
        this.key = key;
        whit = AppUtils.getScreenWidth(mContext);
        inflater = LayoutInflater.from(mContext);
    }

    private static final String TAG = "GiftGridAdapter";

    public void setData(List<GiftItem> mList) {
        this.mList = mList;
        Log.e(TAG, "setData: " + mList);
        notifyDataSetChanged();
    }

    public int getCount() {
        return mList == null ? 0 : mList.size();
    }

    public Object getItem(int position) {
        return mList == null ? null : position >= mList.size() ? null : mList.get(position);
    }

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

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final GiftHolder giftHolder;
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.giftitem, parent, false);
            giftHolder = new GiftHolder();
            giftHolder.iv_gift = (SimpleDraweeView) convertView.findViewById(R.id.iv_gift);
            giftHolder.iv_select = (ImageView) convertView.findViewById(R.id.iv_select);
            giftHolder.name_gift = (TextView) convertView.findViewById(R.id.name_gift);
            giftHolder.gold_gift = (TextView) convertView.findViewById(R.id.gold_gift);
            giftHolder.name_gift.setVisibility(View.GONE);
            convertView.setTag(giftHolder);
        } else {
            giftHolder = (GiftHolder) convertView.getTag();
        }
        final GiftItem item = mList.get(position);
//        Log.e(TAG, "getView: position = " + position + "  GiftItem = " + item);
        if (!TextUtils.isEmpty(item.getIosimg())) {
            giftHolder.iv_gift.setImageURI(Uri.parse(item.getIosimg()));
        }
        if (!TextUtils.isEmpty(item.getName())) {
            giftHolder.name_gift.setText(item.getName());
        }
        if (!TextUtils.isEmpty(item.getPrice())) {
            giftHolder.gold_gift.setTextColor(mContext.getResources().getColor(R.color.white));
            giftHolder.gold_gift.setText(item.getPrice().equals("0") ? "免费" : item.getPrice() + "金币");
        }
        giftHolder.iv_gift.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (giftClick != null) giftClick.onGiftClick(giftHolder.iv_select, position, item);
                if (mImage != null) mImage.setVisibility(View.GONE);
                mImage = giftHolder.iv_select;
                mImage.setVisibility(View.VISIBLE);
            }
        });
        return convertView;
    }

    private MyViewPagerAdapter2.GiftClick giftClick;

    public interface GiftClick {
        void onGiftClick(View v, int pos, String imgUrl, String giftId, String name);
    }

    public void setGiftClick(MyViewPagerAdapter2.GiftClick giftClick) {
        this.giftClick = giftClick;
    }

    class GiftHolder {
        SimpleDraweeView iv_gift;
        ImageView iv_select;
        TextView name_gift;

        TextView gold_gift;
    }

}