package com.weikou.beibeivideo.ui.common;
|
|
import android.app.Dialog;
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
|
import com.weikou.beibeivideo.BeibeiVideoAPI;
|
import com.weikou.beibeivideo.entity.ZhiBoContent;
|
import com.weikou.beibeivideo.ui.mine.BrowserActivity;
|
import com.weikou.beibeivideo.util.AdPromptDialog;
|
import com.weikou.beibeivideo.util.BeibeiConstant;
|
import com.weikou.beibeivideo.R;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.List;
|
|
/**
|
* Created by weikou2015 on 2016/10/31.
|
*/
|
|
public class LiveGirlAdapter extends BaseAdapter {
|
|
private List<ZhiBoContent> mList;
|
|
private Context mContext;
|
|
private DisplayImageOptions options;
|
|
|
public LiveGirlAdapter(Context context, List<ZhiBoContent> list) {
|
this.mContext = context;
|
this.mList = list;
|
this.options = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.ic_default_cover)
|
.showImageOnFail(R.drawable.ic_default_cover)
|
.showImageOnLoading(R.drawable.ic_default_cover)
|
.resetViewBeforeLoading(true).cacheInMemory(true)
|
.cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public int getCount() {
|
if (mList.size() % 2 == 0) {
|
return mList == null ? 0 : (mList.size() / 2);
|
} else {
|
return mList == null ? 0 : (mList.size() / 2 + 1);
|
}
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mList.get(position);
|
}
|
|
@Override
|
public View getView(int position, View view, ViewGroup parent) {
|
ZhiBoContent info = null;
|
ZhiBoContent info1 = null;
|
int startP = position * 2;
|
info = mList.get(startP);
|
if (startP + 1 < mList.size()) {
|
info1 = mList.get(startP + 1);
|
}
|
Holder holder = null;
|
if (view == null) {
|
holder = new Holder();
|
view = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.item_live_category, parent, false);
|
holder.ll_live_girl = (LinearLayout) view
|
.findViewById(R.id.ll_live_girl_show);
|
holder.fl_ad_show = (FrameLayout) view.findViewById(R.id.fl_ad_show);
|
holder.iv_live_girl_portarit = (ImageView) view
|
.findViewById(R.id.iv_room_img);
|
holder.iv_room_status = (ImageView) view
|
.findViewById(R.id.iv_room_status);
|
holder.tv_title = (TextView) view
|
.findViewById(R.id.tv_girl_nickname);
|
holder.tv_num_people = (TextView) view
|
.findViewById(R.id.tv_on_line_num);
|
holder.ll_live_girl1 = (LinearLayout) view
|
.findViewById(R.id.ll_live_girl_show2);
|
holder.iv_live_girl_portarit1 = (ImageView) view
|
.findViewById(R.id.iv_room_img2);
|
holder.tv_title1 = (TextView) view
|
.findViewById(R.id.tv_girl_nickname2);
|
holder.tv_num_people1 = (TextView) view
|
.findViewById(R.id.tv_on_line_num2);
|
view.setTag(holder);
|
} else {
|
holder = (Holder) view.getTag();
|
}
|
if (info != null) {
|
|
holder.fl_ad_show.setVisibility(View.GONE);
|
|
view.findViewById(R.id.ll_live_girl_show).setVisibility(
|
View.VISIBLE);
|
try {
|
// Glide.with(mContext).load(info.getRoomPic())
|
// .placeholder(R.drawable.ic_default_cover)
|
// .error(R.drawable.ic_default_cover).crossFade()
|
// .into(holder.iv_live_girl_portarit);
|
ImageLoader.getInstance().displayImage(info.getRoomPic(), holder.iv_live_girl_portarit, options);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
holder.tv_title.setText(info.getName() + "");
|
holder.tv_num_people.setText(info.getLiveNum() + "人在看");
|
final ZhiBoContent mInfo = info;
|
holder.ll_live_girl.setOnClickListener(
|
new View.OnClickListener() {
|
|
@Override
|
public void onClick(final View v) {
|
|
myClick(mInfo);
|
|
}
|
});
|
} else {
|
view.findViewById(R.id.ll_live_girl_show).setVisibility(
|
View.GONE);
|
}
|
if (info1 != null) {
|
view.findViewById(R.id.ll_live_girl_show2).setVisibility(
|
View.VISIBLE);
|
try {
|
// Glide.with(mContext).load(info1.getRoomPic()).crossFade()
|
// .into(holder.iv_live_girl_portarit1);
|
ImageLoader.getInstance().displayImage(info1.getRoomPic(), holder.iv_live_girl_portarit1, options);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
holder.tv_title1.setText(info1.getName() + "");
|
holder.tv_num_people1.setText(info1.getLiveNum() + "人在看");
|
final ZhiBoContent mInfo1 = info1;
|
holder.ll_live_girl1.setOnClickListener(
|
new View.OnClickListener() {
|
|
@Override
|
public void onClick(final View v) {
|
myClick(mInfo1);
|
}
|
});
|
} else {
|
view.findViewById(R.id.ll_live_girl_show2).setVisibility(
|
View.INVISIBLE);
|
}
|
return view;
|
}
|
|
class Holder {
|
LinearLayout ll_live_girl;
|
TextView tv_title;
|
FrameLayout fl_ad_show;
|
TextView tv_num_people;
|
ImageView iv_live_girl_portarit;
|
ImageView iv_room_status;
|
LinearLayout ll_live_girl1;
|
TextView tv_title1;
|
TextView tv_num_people1;
|
ImageView iv_live_girl_portarit1;
|
}
|
|
/**
|
* 直播单元点击事件处理
|
*
|
* @param info
|
*/
|
private void myClick(ZhiBoContent info) {
|
sendLiveClick(info);
|
Intent intent = new Intent(mContext, BrowserActivity.class);
|
intent.putExtra("url", info.getH5Url());
|
mContext.startActivity(intent);
|
}
|
|
/**
|
* 向服务器发送点击房间号数据
|
*
|
* @param info
|
*/
|
private void sendLiveClick(ZhiBoContent info) {
|
SharedPreferences sp = mContext.getSharedPreferences("user", Context.MODE_PRIVATE);
|
String uid = sp.getString("uid", "");
|
BeibeiVideoAPI.sendLiveClick(mContext, uid, info.getType() + "", info.getRoomId(), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
|
}
|
});
|
}
|
}
|