Files
expert-app/app/src/main/java/cn/shangyu/gdxzExpert/activity/PatientVideoActivity.java
T
2025-11-18 15:12:24 +08:00

1080 lines
34 KiB
Java

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<String> TagPosition = null;
private ScreenAdapter mAdapter2;
private TagList mTagList;
private List<String> 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<VideoBean.VideoData> 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<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
page = 1;
getVideoByKey();
}
@Override
public void onPullUpToRefresh(
PullToRefreshBase<ListView> 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<String>();
}
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<String>();
}
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<String, String> param = new HashMap<String, String>();
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<String, String> param = new HashMap<String, String>();
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<String, String> param = new HashMap<String, String>();
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<data.size();i++){
if ("z-BMS患者端".equals(data.get(i).getName())){
data.remove(i);
}
}
for (int i = 0;i<data.size();i++){
String s;
String title = data.get(i).getName();
boolean digit = Character.isDigit(title.charAt(0));//判断首位是否是数字
boolean asciiAlpha = CharUtils.isAsciiAlpha(title.charAt(0));//字母
if(digit||asciiAlpha){
String substring = null;
if (title.length()>=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<VideoMore> beanlists = new ArrayList<VideoMore>();
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<beanlists.size();i++){
String s;
String title = beanlists.get(i).getVideo_type_name();
if (!StringUtil.isEmpty(title)){
boolean digit = Character.isDigit(title.charAt(0));//判断首位是否是数字
boolean asciiAlpha = CharUtils.isAsciiAlpha(title.charAt(0));//字母
if(digit||asciiAlpha){
String substring = null;
if (title.length()>=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<VideoData> datas;
public VideoAdapter(List<VideoData> datas) {
// TODO Auto-generated constructor stub
this.datas = datas;
}
public void getDatas(List<VideoData> 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<VideoMore> lists;
public VideoSAdapter(List<VideoMore> lists) {
this.lists = lists;
}
public void getDatas(List<VideoMore> 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;
}
}
}