package cn.shangyu.gdxzExpert.activity; import static cn.shangyu.gdxzExpert.utils.CommonUtil.BigModule; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CompoundButton; import android.widget.GridView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import com.gyf.immersionbar.ImmersionBar; import com.nostra13.universalimageloader.core.ImageLoader; import org.apache.commons.lang.CharUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.adapter.VideoGVAdapter; import cn.shangyu.gdxzExpert.base.BaseActivity; import cn.shangyu.gdxzExpert.bean.TagList; import cn.shangyu.gdxzExpert.bean.VideoBean; import cn.shangyu.gdxzExpert.bean.VideoBean.VideoData; import cn.shangyu.gdxzExpert.bean.VideoMoreBean; import cn.shangyu.gdxzExpert.bean.VideoMoreBean.VideoMore; import cn.shangyu.gdxzExpert.big.activity.BigPublicSearchActivity; import cn.shangyu.gdxzExpert.http.OnCallBackFromNet; import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity; import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase; import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase.Mode; import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase.OnRefreshListener2; import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView; import cn.shangyu.gdxzExpert.utils.CommonUtil; import cn.shangyu.gdxzExpert.utils.GsonTools; import cn.shangyu.gdxzExpert.utils.ImageOptions; import cn.shangyu.gdxzExpert.utils.LogUtil; import cn.shangyu.gdxzExpert.utils.StringUtil; import cn.shangyu.gdxzExpert.utils.ToastUtil; import cn.shangyu.gdxzExpert.utils.UIUtils; import cn.shangyu.gdxzExpert.utils.Url; import cn.shangyu.gdxzExpert.view.DrawableCenterButtonR; import cn.shangyu.gdxzExpert.view.DrawableCenterCheckBox; import cn.shangyu.gdxzExpert.view.MyGridView; import cn.shangyu.gdxzExpert.view.RoundImageView; import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState; public class PatientVideoActivity extends BaseActivity implements OnCallBackFromNet { private View view; private PullToRefreshListView mLv_Video; private View ll_loading; private TextView mLoad_empty; private PatientVideoActivity mActivity; private VideoAdapter mAdapter; private VideoBean bean; private Button mBt_send_mind; private RelativeLayout mRl_List, mRl_Gv; private GridView mGv_screen; private ListView mLv_title; private DrawableCenterButtonR mbt_screen; private LinearLayout mLl_title; private List TagPosition = null; private ScreenAdapter mAdapter2; private TagList mTagList; private List Tags; private Button mBt_sure, mBt_reset; private String mCheckedTitle; private TitleAdapter mAdapter3; private ImageView mIm_All1, mIm_All2; private TextView mTv_Title; private int page = 1; private VideoSAdapter mAdapter4; private String typeUuid= "0e5fa3d76b8047528fdd3c452b77e9dd"; private List data; private DrawableCenterCheckBox cb_sort; private String sort = "2";//最新 @Override public void setTitle() { // TODO Auto-generated method stub top_title.setText("患教视频"); top_right.setImageResource(R.drawable.search); top_right.setVisibility(View.VISIBLE); top_right.setOnClickListener(this); if(CommonUtil.BigModule()) { top_title.setText(getResources().getString(R.string.gandanshipin)); top_title.setTextSize(23); top_right.setImageResource(R.drawable.big_search); } } @Override public View onCreateSuccessedView() { // TODO Auto-generated method stub ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init(); view = UIUtils.inflate(R.layout.activity_video); initView(); return view; } @Override protected void onResume() { super.onResume(); needreportPage("患教视频"); } private void initView() { mLv_Video = (PullToRefreshListView) view.findViewById(R.id.lv_video); mLoad_empty = (TextView) view.findViewById(R.id.load_empty); ll_loading = view.findViewById(R.id.ll_loading); mBt_send_mind = (Button) view.findViewById(R.id.bt_send_mind); mbt_screen = (DrawableCenterButtonR) view.findViewById(R.id.bt_screen); mLl_title = (LinearLayout) view.findViewById(R.id.ll_title); mGv_screen = (GridView) view.findViewById(R.id.gv_teach); mLv_title = (ListView) view.findViewById(R.id.lv_title); mRl_List = (RelativeLayout) view.findViewById(R.id.rl_pop_list); mRl_Gv = (RelativeLayout) view.findViewById(R.id.rl_pop_screen); mBt_sure = (Button) view.findViewById(R.id.bt_sure); mBt_reset = (Button) view.findViewById(R.id.bt_reset); mTv_Title = (TextView) view.findViewById(R.id.tv_title); mIm_All1 = (ImageView) view.findViewById(R.id.imageView1); mIm_All2 = (ImageView) view.findViewById(R.id.imageView2); cb_sort = (DrawableCenterCheckBox) view.findViewById(R.id.cb_sort);//最新,最热 LinearLayout ll_go_patient_video1 = view.findViewById(R.id.ll_go_patient_video1); ll_go_patient_video1.setVisibility(View.GONE); mLoad_empty.setText("暂无患教视频"); mTv_Title.setText("乙肝"); mLv_Video.setMode(Mode.DISABLED); // 得到实际的ListView 设置点击 setLastUpdateTime(); mActivity = this; mBt_send_mind.setVisibility(View.GONE); mLv_Video.setOnRefreshListener(new OnRefreshListener2() { @Override public void onPullDownToRefresh( PullToRefreshBase refreshView) { page = 1; getVideoByKey(); } @Override public void onPullUpToRefresh( PullToRefreshBase refreshView) { page++; getVideoByKey(); } }); mBt_send_mind.setOnClickListener(this); mbt_screen.setOnClickListener(this); mLl_title.setOnClickListener(this); cb_sort.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { page = 1; if (isChecked){ sort = "1"; cb_sort.setText("最热"); }else { sort = "2"; cb_sort.setText("最新"); } getVideoByKey(); } }); initListener(); getDataResult(); getTagList(); } private void initListener() { // TODO Auto-generated method stub mGv_screen.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // TODO Auto-generated method stub if (TagPosition == null) { TagPosition = new ArrayList(); } if (TagPosition.contains(position + "")) { TagPosition.remove(position + ""); } else { if (TagPosition.size() < 3) { TagPosition.add(position + ""); } else { ToastUtil.showMessage("最多选择三个标签"); } } mAdapter2.notifyDataSetChanged(); } }); mBt_reset.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (TagPosition == null) { return; } else { TagPosition.clear(); mAdapter2.notifyDataSetChanged(); } } }); mBt_sure.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (Tags == null) { Tags = new ArrayList(); } Tags.clear(); if (TagPosition != null) { for (int i = 0; i < TagPosition.size(); i++) { int positon = Integer.parseInt(TagPosition.get(i)); Tags.add(mTagList.data.get(positon).getNAME()); } } mRl_Gv.setVisibility(View.GONE); if (Tags.size() > 0) { Drawable drawable = getResources().getDrawable( R.drawable.cb_screen_yes); drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); // 设置边界 mbt_screen.setCompoundDrawables(null, null, drawable, null); mbt_screen.setTextColor(getResources().getColor( R.color.tab_text_sel)); } else { Drawable drawable = getResources().getDrawable( R.drawable.cb_screen_no); drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); // 设置边界 mbt_screen.setCompoundDrawables(null, null, drawable, null); mbt_screen.setTextColor(getResources().getColor( R.color.tab_text_nor)); } page = 1; if (StringUtil.isEmpty(typeUuid) && Tags.size() == 0) { mLv_Video.setMode(Mode.DISABLED); getDataResult(); } else { mLv_Video.setMode(Mode.BOTH); getVideoByKey(); } } }); mLv_title.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // TODO Auto-generated method stub if (position == 0) { mCheckedTitle = "全部视频"; mTv_Title.setText("全部视频"); mIm_All2.setImageResource(R.drawable.all_video); mIm_All1.setImageResource(R.drawable.video_all); mTv_Title.setTextColor(getResources().getColor( R.color.tab_text_nor)); typeUuid = ""; if (Tags == null || Tags.size() == 0) { mLv_Video.setMode(Mode.DISABLED); getDataResult(); } else { mLv_Video.setMode(Mode.BOTH); getVideoByKey(); } } else { page = 1; mCheckedTitle =data.get(position - 1).getName(); if (mCheckedTitle.length()>13){ mTv_Title.setText(mCheckedTitle.substring(0,12)+"..."); }else { mTv_Title.setText(mCheckedTitle); } mIm_All2.setImageResource(R.drawable.select_video); mIm_All1.setImageResource(R.drawable.video_select); mTv_Title.setTextColor(getResources().getColor( R.color.tab_text_sel)); typeUuid = data.get(position - 1).getUuid(); mLv_Video.setMode(Mode.BOTH); getVideoByKey(); } mAdapter3.notifyDataSetChanged(); mRl_List.setVisibility(View.GONE); } }); } @Override public ResultState onLoad() { // TODO Auto-generated method stub return ResultState.STATE_SUCCESSED; } public void getTagList() { Map param = new HashMap(); param.put("type", "5"); sendParamtoNet(Url.getTagList, param, GET_TAGS_DATAS_RESULT, mActivity, true); } public void getVideoByKey() { StringBuilder keywords = new StringBuilder(); if (Tags != null && Tags.size() > 0) { for (int i = 0; i < Tags.size(); i++) { keywords.append(Tags.get(i) + ","); } } showProgressDialog("请稍候"); Map param = new HashMap(); param.put("page", page + ""); param.put("keywords", keywords.toString()); param.put("typeUuid", typeUuid); param.put("sort", sort); sendJsonPostParamtoNetSignMD5(Url.getPatientVideoByKeyWordsNew, param, GET_DATAS_BY_KEY_RESULT, mActivity); } /** * 获取列表数据 */ public static final int GET_VIDEO_DATAS_RESULT = 101; public static final int GET_TAGS_DATAS_RESULT = 102; public static final int GET_DATAS_BY_KEY_RESULT = 103; public static final int GET_READ_NUM_RESULT = 201; public static final int GET_MORE_NUM_RESULT = 301; public static final int GET_READ_NUM_RESULT2 = 401; public void getDataResult() { Map param = new HashMap(); sendJsonPostParamtoNetSignMD5(Url.getPtientVideoNew, param, GET_VIDEO_DATAS_RESULT, mActivity); } @Override protected void processClick(View v) { // TODO Auto-generated method stub // AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else int id = v.getId(); if (id == R.id.top_right) { if(BigModule()) { Intent intent = new Intent(mActivity, BigPublicSearchActivity.class); intent.setType("patientVideo"); startActivity(intent); } else { Intent intent = new Intent(mActivity, PublicSearchActivity.class); intent.setType("patientVideo"); startActivity(intent); } } else if (id == R.id.bt_send_mind) { Intent intent1 = new Intent(mActivity, SendMindActivity.class); startActivity(intent1); } else if (id == R.id.bt_screen) { // mRl_List, mRl_Gv; if (mTagList == null) { getTagList(); } if (mRl_Gv.getVisibility() == View.GONE) { mRl_Gv.setVisibility(View.VISIBLE); if (mRl_List.getVisibility() == View.VISIBLE) { mRl_List.setVisibility(View.GONE); } } else { mRl_Gv.setVisibility(View.GONE); if (TagPosition != null) { TagPosition.clear(); for (int i = 0; i < mTagList.data.size(); i++) { if (Tags != null && Tags.contains(mTagList.data.get(i).getNAME())) { TagPosition.add(i + ""); } } mAdapter2.notifyDataSetChanged(); } } } else if (id == R.id.ll_title) { if (mRl_List.getVisibility() == View.GONE) { mRl_List.setVisibility(View.VISIBLE); if (mRl_Gv.getVisibility() == View.VISIBLE) { mRl_Gv.setVisibility(View.GONE); } } else { mRl_List.setVisibility(View.GONE); } } } private void setLastUpdateTime() { String text = CommonUtil.getStringDate(); mLv_Video.getLoadingLayoutProxy().setLastUpdatedLabel(text); } public void loaded() { closeProgressDialog(); dismissLoadingProgress(); ll_loading.setVisibility(View.GONE); mLv_Video.onRefreshComplete(); } @Override public void onCallbackFromThread(String resultJson) { // TODO Auto-generated method stub } @Override public void onCallBackFromThread(String resultJson, int resultCode) { // TODO Auto-generated method stub Log.d("resultJson", resultCode+resultJson); switch (resultCode) { case GET_TAGS_DATAS_RESULT: processTage(resultJson); break; case GET_VIDEO_DATAS_RESULT: processData(resultJson); break; case GET_DATAS_BY_KEY_RESULT: processDatalist(resultJson); break; default: break; } } // 标签解析 public void processTage(String result) { try { mTagList = GsonTools.fromGsonToBean(result, TagList.class); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (mTagList != null) { if (StringUtil.isOneToCode(mTagList.code)) { ToastUtil.showToast(mTagList.message); return; } } else { ToastUtil.showToast("服务器异常"); } if (mAdapter2 == null) { mAdapter2 = new ScreenAdapter(); mGv_screen.setAdapter(mAdapter2); } } /** * 解析并处理数据 * * @param result */ private void processData(String result) { try { bean = GsonTools.fromGsonToBean(result, VideoBean.class); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (bean != null) { if (StringUtil.isOneToCode(bean.code)) { ToastUtil.showToast(bean.message); // 显示空布局 mLoad_empty.setVisibility(View.VISIBLE); // 完成刷新 loaded(); return; } } else { mLoad_empty.setVisibility(View.VISIBLE); // 完成刷新 loaded(); return; } if (bean.data == null || bean.data.size() == 0) { mLoad_empty.setVisibility(View.VISIBLE); return; } else { mLoad_empty.setVisibility(View.GONE); // mList.addAll(bean.data.list); } mAdapter4 = null; /**去除z-BMS患者端*/ data = new ArrayList<>(); data.addAll(bean.data); for (int i = 0;i=4){ substring = title.substring(0, 4);//取出来前4位 }else if(title.length()>=3){ substring = title.substring(0, 3);//取出来前3位 }else if (title.length()>=2){ substring = title.substring(0, 2);//取出来前2位 } if (substring.contains("-")){//含有- String[] split = substring.split("-"); if (split.length>1){ s = split[split.length - 1] + title.substring(4, title.length()); }else { s = title.substring(4, title.length()); } data.get(i).setName(s); } } } //显示全部默认最新视频 getVideoByKey(); //取消更多显示 // if (mAdapter == null) { // mAdapter = new VideoAdapter(data); // mLv_Video.getRefreshableView().setAdapter(mAdapter); // } else { // mAdapter.getDatas(data); // mAdapter.notifyDataSetChanged(); // } if (mAdapter3 == null) { mAdapter3 = new TitleAdapter(); mLv_title.setAdapter(mAdapter3); } loaded(); // 设置刷新的时间 setLastUpdateTime(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); switch (resultCode) { case GET_READ_NUM_RESULT: if (requestCode == GET_READ_NUM_RESULT) { String uuid = data.getStringExtra("uuid"); if (!StringUtil.isEmpty(uuid)) { for (int i = 0; i < this.data.size(); i++) { for (int j = 0; j < this.data.get(i).video.size(); j++) { if (this.data.get(i).video.get(j).getUuid() .equals(uuid)) { String Snum = this.data.get(i).video.get(j) .getReadnum(); int Inum = (Integer.parseInt(Snum) + 1); this.data.get(i).video.get(j).setReadnum( Inum + ""); mAdapter.notifyDataSetChanged(); } } } } } else { String uuid = data.getStringExtra("uuid"); if (!StringUtil.isEmpty(uuid)) { for (int i = 0; i < beanlists.size(); i++) { if (beanlists.get(i).getUuid().equals(uuid)) { String Snum = beanlists.get(i).getReadnum(); int Inum = (Integer.parseInt(Snum) + 1); beanlists.get(i).setReadnum(Inum + ""); mAdapter4.notifyDataSetChanged(); } } } } break; case GET_MORE_NUM_RESULT: getDataResult(); break; default: break; } } public class ScreenAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub if (mTagList != null && mTagList.data.size() > 0) { return mTagList.data.size(); } return 0; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return mTagList.data.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View view = UIUtils.inflate(R.layout.gv_item_screen); TextView tv_item = (TextView) view .findViewById(R.id.tv_gv_item_screen); tv_item.setText(mTagList.data.get(position).getNAME()); if (TagPosition != null && TagPosition.contains(position + "")) { tv_item.setEnabled(true); } else { tv_item.setEnabled(false); } return view; } } public class TitleAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return data.size() + 1; } @Override public Object getItem(int position) { // TODO Auto-generated method stub if (position == 0) { return "全部视频"; } return data.get(position - 1); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position - 1; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView tv_item = new TextView(mActivity); if (position == 0) { tv_item.setText("全部视频"); } else { tv_item.setText(data.get(position - 1).getName()); } if ("全部视频".equals(mCheckedTitle) && position == 0) { tv_item.setTextColor(getResources().getColor( R.color.tab_text_sel)); } else { if (position == 0) { tv_item.setTextColor(getResources().getColor( R.color.tab_text_nor)); } else { if (mCheckedTitle != null && mCheckedTitle.equals(data.get(position - 1) .getName())) { tv_item.setTextColor(getResources().getColor( R.color.tab_text_sel)); } else { tv_item.setTextColor(getResources().getColor( R.color.tab_text_nor)); } } } tv_item.setTextSize(15); tv_item.setPadding(10, dip2px(mActivity, 10), 10, dip2px(mActivity, 10)); return tv_item; } } private List beanlists = new ArrayList(); private void processDatalist(String result) { LogUtil.i("视频列表result = "+result); VideoMoreBean bean = GsonTools.fromGsonToBean(result, VideoMoreBean.class); // 判断是下拉刷新还是加载更多,true表示是下拉刷新 if (page == 1) { // 初始化消息列表的数据 beanlists.clear(); // 数据为空 if (bean == null || bean.data == null || bean.data.list.size() == 0) { // mLv_Video.setEmptyView(mLoad_empty); mLoad_empty.setVisibility(View.VISIBLE); mAdapter = null; mLv_Video.setAdapter(null); loaded(); return; } else { mLoad_empty.setVisibility(View.GONE); beanlists.addAll(bean.data.list); for (int i = 0;i=4){ substring = title.substring(0, 4);//取出来前4位 }else if(title.length()>=3){ substring = title.substring(0, 3);//取出来前3位 }else if (title.length()>=2){ substring = title.substring(0, 2);//取出来前2位 } if (substring.contains("-")){//含有- String[] split = substring.split("-"); if (split.length>1){ s = split[split.length - 1] + title.substring(4, title.length()); }else { s = title.substring(4, title.length()); } beanlists.get(i).setVideo_type_name(s); } } } } if (mAdapter4 != null) { mLv_Video.setAdapter(mAdapter4); } } } else { // 加载更多下一页时候e if (bean != null || bean.data != null) { beanlists.addAll(bean.data.list); } else { ToastUtil.showMessage("没有更多数据了"); } } mAdapter = null; // 更新 if (mAdapter4 == null) { mAdapter4 = new VideoSAdapter(beanlists); mLv_Video.getRefreshableView().setAdapter(mAdapter4); } else { mAdapter4.getDatas(beanlists); mAdapter4.notifyDataSetChanged(); } // 完成刷新 loaded(); // 得到总页码数 int totalPage = bean.data.totalPage; if (totalPage <= 1 || totalPage < page) { if (page != 1) { ToastUtil.showMessage("没有更多数据了"); } mLv_Video.setMode(Mode.PULL_FROM_START); } else { mLv_Video.setMode(Mode.BOTH); } // 设置刷新的时间 setLastUpdateTime(); closeProgressDialog(); } // dp到像素的转换 public static int dip2px(Context context, double d) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (d * scale + 0.5f); } public class VideoAdapter extends BaseAdapter { private List datas; public VideoAdapter(List datas) { // TODO Auto-generated constructor stub this.datas = datas; } public void getDatas(List datas) { this.datas = datas; } @Override public int getCount() { // TODO Auto-generated method stub return datas.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return datas.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder; if (convertView == null) { convertView = UIUtils.inflate(R.layout.item_video); holder = new ViewHolder(); holder.mGv = (MyGridView) convertView.findViewById(R.id.mgv_video); holder.mTv_Title = (TextView) convertView. findViewById(R.id.tv_video_title); holder.mTv_more = (TextView) convertView.findViewById(R.id.tv_video_more); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.mTv_Title.setText(datas.get(position).getName()); holder.mTv_more.setTag(position); holder.mTv_more.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(mActivity, VideoMoreActivity.class); intent.putExtra("uuid", datas.get((int) v.getTag()).getUuid()); intent.putExtra("title", datas.get((int) v.getTag()).getName()); intent.setType("video2"); mActivity.startActivityForResult(intent, mActivity.GET_MORE_NUM_RESULT); } }); // holder.mAdapter.getList(datas.get(position).video); if(holder.mGv!=null){ VideoGVAdapter mAdapter = new VideoGVAdapter(mActivity,datas.get(position).video); holder.mGv.setAdapter(mAdapter); } holder.mGv.setTag(position); holder.mGv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // TODO Auto-generated method stub int Num = (int) parent.getTag(); Intent intent = VideoDetailPolyvPlayerActivity.newIntent(mActivity, VideoDetailPolyvPlayerActivity.PlayMode.portrait, datas.get(Num).video.get(position) .getPolyv_uuid()); intent.putExtra("startNow", false); intent.putExtra("isVlmsOnline", false); // intent.putExtra("uuid",data.get(position).getUuid()); // startActivity(intent1); // Intent intent = new Intent(mActivity, VideoDetilActivity.class); intent.putExtra("url", datas.get(Num).video.get(position) .getPath()); intent.putExtra("uuid", datas.get(Num).video.get(position).getUuid()); intent.putExtra("vid", datas.get(Num).video.get(position).getPolyv_uuid()); intent.putExtra("note", datas.get(Num).video.get(position) .getNote()); intent.putExtra("title", datas.get(Num).video.get(position) .getName()); intent.putExtra("readnum", datas.get(Num).video.get(position) .getReadnum()); intent.putExtra("imgpath", datas.get(Num).video.get(position) .getImgpath()); intent.putExtra("public_name", datas.get(Num).video.get(position).getPublic_name()); intent.putExtra("ispatientvideo",true); mActivity.startActivityForResult(intent, mActivity.GET_READ_NUM_RESULT); } }); return convertView; } class ViewHolder { TextView mTv_Title, mTv_more; MyGridView mGv; VideoGVAdapter mAdapter; } } public class VideoSAdapter extends BaseAdapter { private List lists; public VideoSAdapter(List lists) { this.lists = lists; } public void getDatas(List lists) { this.lists = lists; } @Override public int getCount() { // TODO Auto-generated method stub if (lists.size() % 2 == 1) { return lists.size() / 2 + 1; } return lists.size() / 2; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder vh = null; if (convertView == null) { convertView = UIUtils.inflate(R.layout.item_video_list); vh = new ViewHolder(); vh.mIv_Video1 = (RoundImageView) convertView .findViewById(R.id.iv_video_gv1); vh.mTv_title1 = (TextView) convertView .findViewById(R.id.tv_video_content1); vh.mTv_name1 = (TextView) convertView .findViewById(R.id.tv_video_name1); vh.mTv_lookNum1 = (TextView) convertView .findViewById(R.id.tv_video_num1); vh.mIv_Video2 = (RoundImageView) convertView .findViewById(R.id.iv_video_gv2); vh.mTv_title2 = (TextView) convertView .findViewById(R.id.tv_video_content2); vh.mTv_name2 = (TextView) convertView .findViewById(R.id.tv_video_name2); vh.mTv_lookNum2 = (TextView) convertView .findViewById(R.id.tv_video_num2); vh.mRl_second = (RelativeLayout) convertView .findViewById(R.id.rl_second_view); vh.mRl_first = (RelativeLayout) convertView .findViewById(R.id.rl_first_view); convertView.setTag(vh); } else { vh = (ViewHolder) convertView.getTag(); } ImageLoader.getInstance().displayImage( Url.urlHtml + lists.get(position * 2).getImgpath(), vh.mIv_Video1, ImageOptions.getImageOptions(R.drawable.default_video)); vh.mTv_title1.setText(lists.get(position * 2).getName()); vh.mTv_name1.setText(lists.get(position * 2).getPublic_name()); vh.mTv_lookNum1.setText(lists.get(position * 2).getReadnum()); if (lists.size() / 2 == position && lists.size() % 2 == 1) { vh.mRl_second.setVisibility(View.INVISIBLE); } else { vh.mRl_second.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage( Url.urlHtml + lists.get(position * 2 + 1).getImgpath(), vh.mIv_Video2, ImageOptions.getImageOptions(R.drawable.default_video)); vh.mTv_title2.setText(lists.get(position * 2 + 1).getName()); vh.mTv_name2.setText(lists.get(position * 2 + 1).getPublic_name()); vh.mTv_lookNum2.setText(lists.get(position * 2 + 1).getReadnum()); } vh.mRl_first.setTag(position); vh.mRl_first.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub int Num = (int) v.getTag(); Intent intent = VideoDetailPolyvPlayerActivity.newIntent(mActivity, VideoDetailPolyvPlayerActivity.PlayMode.portrait,""); // 在线视频和下载的视频播放的时候只显示播放器窗口,用该参数来控制 intent.putExtra("startNow", false); intent.putExtra("isVlmsOnline", false); intent.putExtra("url", lists.get(Num * 2).getPath()); intent.putExtra("uuid", lists.get(Num * 2).getUuid()); intent.putExtra("note", lists.get(Num * 2).getNote()); intent.putExtra("title", lists.get(Num * 2).getName()); intent.putExtra("readnum", lists.get(Num * 2).getReadnum()); intent.putExtra("imgpath", lists.get(Num * 2).getImgpath()); intent.putExtra("need_inside_share", "yes"); intent.putExtra("public_name", lists.get(Num * 2) .getPublic_name()); intent.putExtra("getTags", lists.get(Num * 2 ).getTags()); intent.putExtra("ispatientvideo",true); intent.putExtra("pagetype","患教视频"); mActivity.startActivityForResult(intent, mActivity.GET_READ_NUM_RESULT2); // needreportDetail("患教视频",lists.get(Num * 2).getTags(),lists.get(Num * 2).getName()); } }); vh.mRl_second.setTag(position); vh.mRl_second.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub int Num = (int) v.getTag(); Intent intent = VideoDetailPolyvPlayerActivity.newIntent(mActivity, VideoDetailPolyvPlayerActivity.PlayMode.portrait,""); // 在线视频和下载的视频播放的时候只显示播放器窗口,用该参数来控制 intent.putExtra("startNow", false); intent.putExtra("isVlmsOnline", false); intent.putExtra("url", lists.get(Num * 2 + 1).getPath()); intent.putExtra("uuid", lists.get(Num * 2 + 1).getUuid()); intent.putExtra("note", lists.get(Num * 2 + 1).getNote()); intent.putExtra("title", lists.get(Num * 2 + 1).getName()); intent.putExtra("readnum", lists.get(Num * 2 + 1).getReadnum()); intent.putExtra("imgpath", lists.get(Num * 2 + 1).getImgpath()); intent.putExtra("need_inside_share", "yes"); intent.putExtra("public_name", lists.get(Num * 2 + 1) .getPublic_name()); intent.putExtra("getTags", lists.get(Num * 2 + 1).getTags()); intent.putExtra("ispatientvideo",true); intent.putExtra("pagetype","患教视频"); mActivity.startActivityForResult(intent, mActivity.GET_READ_NUM_RESULT2); // needreportDetail("患教视频",lists.get(Num * 2+1).getTags(),lists.get(Num * 2 + 1).getName()); } }); return convertView; } class ViewHolder { RoundImageView mIv_Video1, mIv_Video2; RelativeLayout mRl_second, mRl_first; TextView mTv_title1, mTv_name1, mTv_lookNum1, mTv_title2, mTv_name2, mTv_lookNum2; } } }