1080 lines
34 KiB
Java
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;
|
|
}
|
|
}
|
|
}
|