This commit is contained in:
2025-11-18 15:12:24 +08:00
parent c173c425ce
commit a7d2035e70
1361 changed files with 367452 additions and 0 deletions
@@ -0,0 +1,46 @@
package cn.shangyu.gdxzExpert.big;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.text.style.ImageSpan;
public class MyIm extends ImageSpan
{
public MyIm(Context arg0, int arg1) {
super(arg0, arg1);
}
public int getSize(Paint paint, CharSequence text, int start, int end,
Paint.FontMetricsInt fm) {
Drawable d = getDrawable();
Rect rect = d.getBounds();
if (fm != null) {
Paint.FontMetricsInt fmPaint=paint.getFontMetricsInt();
int fontHeight = fmPaint.bottom - fmPaint.top;
int drHeight=rect.bottom-rect.top;
int top= drHeight/2 - fontHeight/4;
int bottom=drHeight/2 + fontHeight/4;
fm.ascent=-bottom;
fm.top=-bottom;
fm.bottom=top;
fm.descent=top;
}
return rect.right;
}
@Override
public void draw(Canvas canvas, CharSequence text, int start, int end,
float x, int top, int y, int bottom, Paint paint) {
Drawable b = getDrawable();
canvas.save();
int transY = 0;
transY = ((bottom-top) - b.getBounds().bottom)/2+top;
canvas.translate(x, transY);
b.draw(canvas);
canvas.restore();
}
}
@@ -0,0 +1,55 @@
package cn.shangyu.gdxzExpert.big.activity;
import android.content.Intent;
import android.view.View;
import android.widget.ImageView;
import com.umeng.analytics.MobclickAgent;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.MainActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import static cn.shangyu.gdxzExpert.utils.CommonUtil.IS_BIG_MUDULE;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_OPEN_BIGVERSION;
public class BeginBigActivity extends BaseActivity {
@Override
public void setTitle() {
}
@Override
public View onCreateSuccessedView() {
View view=View.inflate(ct, R.layout.activity_begin_big, null);
ImageView btn_bgein_big=view.findViewById(R.id.btn_bgein_big);
btn_bgein_big.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MobclickAgent.onEvent(BeginBigActivity.this,EXPERT_OPEN_BIGVERSION);
SharePrefUtil.saveBoolean(UIUtils.getContext(),IS_BIG_MUDULE,true);
Intent intent=new Intent(BeginBigActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
});
top_title.setText("大字版");
top_title.setTextSize(23);
return view;
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
}
}
@@ -0,0 +1,657 @@
package cn.shangyu.gdxzExpert.big.activity;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_COURSEWARE_LIST;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
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.CompoundButton.OnCheckedChangeListener;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gyf.immersionbar.ImmersionBar;
import com.umeng.analytics.MobclickAgent;
import org.json.JSONException;
import org.json.JSONObject;
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.activity.CourseUrlDetailActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.CoursewareListBean;
import cn.shangyu.gdxzExpert.bean.CoursewareListBean.CoursewareBean;
import cn.shangyu.gdxzExpert.bean.TagList;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
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.SharePrefUtil;
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.widget.ECAlertDialog;
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
public class BigCoursewareActivity extends BaseActivity implements
OnItemClickListener, OnCallBackFromNet {
private View view;
private DrawableCenterButtonR screen;
// private EditText search_text;
private int page = 1;
private PullToRefreshListView ptrLv;
private String topic = "0";
private DrawableCenterCheckBox mCb_Jx;
private RelativeLayout mRl_pop_screen;
private Button mBt_sure, mBt_reset;
private GridView mGv_screen;
private List<String> TagPosition = null;
private ScreenAdapter mAdapter2;
private TagList mTagList;
private List<String> Tags;
private View ll_loading;
private LinearLayout ll_empty;
BigCoursewareActivity mActivity;
private List<CoursewareBean> ListBeans = new ArrayList<CoursewareBean>();
public CoursewareAdapter mAdapter;
public ImageView mTv_share;
@Override
public void setTitle() {
// TODO Auto-generated method stub
top_title.setText("肝胆课件");
top_title.setTextSize(23);
top_right.setImageResource(R.drawable.big_search);
top_right.setVisibility(View.VISIBLE);
top_right.setOnClickListener(this);
}
@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_courseware_big);
ptrLv = (PullToRefreshListView) view.findViewById(R.id.lv_courseware);
// 查询输入的内容
// search_text = (EditText) view.findViewById(R.id.et_search_text);
// 点击查询按钮search
screen = (DrawableCenterButtonR) view.findViewById(R.id.bt_kj_screen);
tv_load_fail = (TextView) view.findViewById(R.id.tv_load_fail);
// 空布局,处理
ll_empty = (LinearLayout) view.findViewById(R.id.ll_empty);
TextView tv_empty_msg = (TextView) view.findViewById(R.id.tv_empty_msg);
// 设置空的提示信息,默认是“暂时没有数据”
tv_empty_msg.setText("暂无课件");
mRl_pop_screen = (RelativeLayout) view.findViewById(R.id.rl_pop_screen);
// 空布局,处理
mCb_Jx = (DrawableCenterCheckBox) view.findViewById(R.id.cb_kj_jx);
mGv_screen = (GridView) view.findViewById(R.id.gv_teach);
mBt_sure = (Button) view.findViewById(R.id.bt_sure);
mBt_reset = (Button) view.findViewById(R.id.bt_reset);
mTv_share = (ImageView) view.findViewById(R.id.tv_share);
mActivity = this;
initListener();
getDataResult();
getTagList();
return view;
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onEvent(this,EXPERT_COURSEWARE_LIST);
}
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();
}
}
});
ptrLv.setMode(Mode.BOTH);
ptrLv.setOnRefreshListener(new OnRefreshListener2() {
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
page = 1;
getDataResult();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
page = page + 1;
getDataResult();
}
});
// 得到实际的ListView 设置点击
ptrLv.getRefreshableView().setOnItemClickListener(this);
mBt_sure.setOnClickListener(this);
screen.setOnClickListener(this);
mTv_share.setOnClickListener(this);
mCb_Jx.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
page = 1;
if (isChecked) {
topic = "1";
mCb_Jx.setText("最热");
} else {
topic = "0";
mCb_Jx.setText("最新");
}
getDataResult();
}
});
}
@Override
public ResultState onLoad() {
// TODO Auto-generated method stub
return ResultState.STATE_SUCCESSED;
}
StringBuilder keywords = new StringBuilder();
@Override
protected void processClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.tv_share:
showLoag();
break;
case R.id.top_right:
Intent intent = new Intent(mActivity, BigPublicSearchActivity.class);
intent.setType("course");
startActivity(intent);
break;
case R.id.bt_kj_screen:
if (mTagList == null) {
getTagList();
}
if (mRl_pop_screen.getVisibility() == View.GONE) {
mRl_pop_screen.setVisibility(View.VISIBLE);
} else {
mRl_pop_screen.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();
}
}
break;
case R.id.bt_sure:
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_pop_screen.setVisibility(View.GONE);
if (TagPosition != null && TagPosition.size() != 0) {
Drawable drawable = getResources().getDrawable(
R.drawable.cb_screen_yes);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight()); // 设置边界
screen.setCompoundDrawables(null, null, drawable, null);
screen.setTextColor(getResources().getColor(
R.color.tab_text_sel));
} else {
Drawable drawable = getResources().getDrawable(
R.drawable.shaixuan_big);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight()); // 设置边界
screen.setCompoundDrawables(null, null, drawable, null);
screen.setTextColor(getResources().getColor(
R.color.c333333));
}
page = 1;
keywords = new StringBuilder();
if (Tags != null && Tags.size() > 0) {
for (int i = 0; i < Tags.size(); i++) {
keywords.append(Tags.get(i) + ",");
}
}
getDataResult();
break;
default:
break;
}
}
public class ScreenAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return mTagList!=null&&mTagList.data.size()>0?mTagList.data.size():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_big);
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 static final int GET_COURSE_DATAS_RESULT = 101;
public static final int GET_TAGS_DATAS_RESULT = 102;
public static final int GET_SHRE_DATAS_RESULT = 103;
public void getTagList() {
Map<String, String> param = new HashMap<String, String>();
param.put("type", "6");
sendParamtoNet(Url.getTagList, param, GET_TAGS_DATAS_RESULT, mActivity,
true);
}
public void getDataResult() {
Map<String, String> param = new HashMap<String, String>();
param.put("page", page + "");
param.put("keywords", keywords.toString());
param.put("sort", topic);
param.put("title", "");
sendJsonPostParamtoNetSignMD5(Url.getGanDanFileByKeyWords, param,
GET_COURSE_DATAS_RESULT, mActivity);
}
// 标签解析
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);
}
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Intent intent = new Intent(mActivity, CourseUrlDetailActivity.class);
intent.putExtra("url",
ListBeans.get(arg2 - 1).getPreview_path());
intent.putExtra("title", ListBeans.get(arg2 - 1).getTitle());
intent.putExtra("uuid", ListBeans.get(arg2 - 1).getUuid());
intent.putExtra("type", ListBeans.get(arg2 - 1).getType());
startActivity(intent);
}
@Override
public void onCallbackFromThread(String resultJson) {
// TODO Auto-generated method stub
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
// TODO Auto-generated method stub
switch (resultCode) {
case GET_TAGS_DATAS_RESULT:
processTage(resultJson);
break;
case GET_COURSE_DATAS_RESULT:
processData(resultJson);
break;
case GET_SHRE_DATAS_RESULT:
JSONObject jsob;
try {
jsob = new JSONObject(resultJson);
String retcode = jsob.getString("code");
if (!retcode.equals("1")) {
ToastUtil.showMessage("提交失败");
}else{
ToastUtil.showMessage("谢谢您的支持");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
default:
break;
}
}
/**
* 解析并处理数据
*
* @param result
*/
private void processData(String result) {
CoursewareListBean bean = null;
try {
bean = GsonTools.fromGsonToBean(result, CoursewareListBean.class);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 初始化列表的数据
if (page == 1) {
ListBeans.clear();
// 数据为空
if (bean == null || bean.data == null || bean.data.list.size() == 0) {
// 显示空布局
ptrLv.setEmptyView(ll_empty);
// 完成刷新
onLoaded();
return;
} else {
ListBeans.addAll(bean.data.list);
}
}
else {
ListBeans.addAll(bean.data.list);
}
if (mAdapter == null) {
mAdapter = new CoursewareAdapter();
ptrLv.getRefreshableView().setAdapter(mAdapter);
} else {
mAdapter.notifyDataSetChanged();
}
// 完成刷新
onLoaded();
// 得到总页码数
// long totalPage = bean.data.totalPage;
if (bean.data.list==null||bean.data.list.size()==0) {
if (page != 1) {
ToastUtil.showMessage("没有更多数据了");
}
ptrLv.setMode(Mode.PULL_FROM_START);
} else {
ptrLv.setMode(Mode.BOTH);
}
// 设置刷新的时间
setLastUpdateTime();
}
ECAlertDialog buildAlert;
private void showLoag() {
String message = "肝胆相照将稍后与您沟通课件分享\r\n谢谢您对平台的支持!";
buildAlert = ECAlertDialog.buildAlert(BigCoursewareActivity.this, message,
"取消", "确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
buildAlert.dismiss();
}
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
toshare();
}
});
buildAlert.setTitle("提示");
// buildAlert.setTitleColor(getResources().getColor(R.color.top_title));
buildAlert.show();
}
public void toshare() {
String expertUuid = SharePrefUtil.getString(mActivity, "uuid", "");
Map<String, String> param = new HashMap<String, String>();
param.put("content", "我要共享课件");
param.put("expertUuid", expertUuid);
sendParamtoNet(Url.getfeedBack, param, GET_SHRE_DATAS_RESULT, mActivity,
true);
}
/**
* 设置刷新时间
*/
private void setLastUpdateTime() {
String text = CommonUtil.getStringDate();
ptrLv.getLoadingLayoutProxy().setLastUpdatedLabel(text);
}
/**
* 数据加载完成时,取消加载动画
*/
private void onLoaded() {
dismissLoadingProgress();
ptrLv.onRefreshComplete();
}
public class CoursewareAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return ListBeans.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return ListBeans.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 vh = null;
if (convertView == null) {
convertView = UIUtils.inflate(R.layout.item_courseware_big);
vh = new ViewHolder();
// vh.mIv_type = (ImageView) convertView
// .findViewById(R.id.item_iv_courseware);
// vh.iv_down = (ImageView) convertView
// .findViewById(R.id.iv_down);
vh.mTv_free = (TextView) convertView
.findViewById(R.id.item_tv_free_price);
vh.mTv_title = (TextView) convertView
.findViewById(R.id.item_tv_title);
vh.mTv_providername = (TextView) convertView
.findViewById(R.id.item_tv_providername);
vh.mTv_hospitalname = (TextView) convertView
.findViewById(R.id.item_tv_hospitalname);
vh.mTv_readnum = (TextView) convertView
.findViewById(R.id.item_tv_rednum);
vh.mTv_price = (TextView) convertView
.findViewById(R.id.item_tv_price);
// vh.mTv_yuan = (TextView) convertView
// .findViewById(R.id.item_tv_yuan);
vh.mTv_old = (TextView) convertView
.findViewById(R.id.item_tv_old);
vh.mTv_old_price = (TextView) convertView
.findViewById(R.id.item_tv_old_price);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
// if (ListBeans.get(position).getType().contains("pdf")) {
// vh.mIv_type.setImageResource(R.drawable.pdf);
// } else if (ListBeans.get(position).getType().contains("doc")) {
// vh.mIv_type.setImageResource(R.drawable.word);
// } else {
// vh.mIv_type.setImageResource(R.drawable.ppt);
// }
// if (ListBeans.get(position).getPrice()<0){
// vh.iv_down.setVisibility(View.INVISIBLE);
// }else {
// vh.iv_down.setVisibility(View.VISIBLE);
// }
vh.mTv_title.setText(ListBeans.get(position).getTitle());
vh.mTv_hospitalname.setText(ListBeans.get(position).getHospitalname());
vh.mTv_readnum.setText(ListBeans.get(position).getReadnum() + "人阅读");
vh.mTv_title.setText(ListBeans.get(position).getTitle());
vh.mTv_providername.setText(ListBeans.get(position)
.getProvidername()+" ");
if (ListBeans.get(position).getPrice() == 0) {
vh.mTv_free.setVisibility(View.VISIBLE);
vh.mTv_price.setVisibility(View.GONE);
vh.mTv_old.setVisibility(View.GONE);
vh.mTv_old_price.setVisibility(View.GONE);
} else if (ListBeans.get(position).getPrice() > 0) {
if (ListBeans.get(position).getDiscount() < 1
&& ListBeans.get(position).getDiscount() > 0) {
vh.mTv_free.setVisibility(View.GONE);
vh.mTv_price.setVisibility(View.VISIBLE);
vh.mTv_price.setText("下载 "+ListBeans.get(position).getDiscount()
* ListBeans.get(position).getPrice() / 100.0 + "元");
vh.mTv_old.setVisibility(View.VISIBLE);
vh.mTv_old_price.setVisibility(View.VISIBLE);
vh.mTv_old_price.setText(ListBeans.get(position).getPrice()
/ 100.0 + "元");
vh.mTv_old_price.getPaint()
.setFlags(
Paint.STRIKE_THRU_TEXT_FLAG
| Paint.ANTI_ALIAS_FLAG);
} else if (ListBeans.get(position).getDiscount() == 1) {
vh.mTv_free.setVisibility(View.GONE);
vh.mTv_price.setVisibility(View.VISIBLE);
vh.mTv_price.setText("下载 "+ListBeans.get(position).getPrice()
/ 100.0 + "元");
vh.mTv_old.setVisibility(View.GONE);
vh.mTv_old_price.setVisibility(View.GONE);
} else if (ListBeans.get(position).getDiscount() == 0) {
vh.mTv_free.setVisibility(View.VISIBLE);
vh.mTv_price.setVisibility(View.GONE);
vh.mTv_old.setVisibility(View.GONE);
vh.mTv_old_price.setVisibility(View.GONE);
} else {
vh.mTv_free.setVisibility(View.GONE);
vh.mTv_price.setVisibility(View.GONE);
vh.mTv_old.setVisibility(View.GONE);
vh.mTv_old_price.setVisibility(View.GONE);
}
} else {
vh.mTv_free.setVisibility(View.GONE);
vh.mTv_price.setVisibility(View.GONE);
vh.mTv_old.setVisibility(View.GONE);
vh.mTv_old_price.setVisibility(View.GONE);
}
return convertView;
}
class ViewHolder {
// public ImageView iv_down;
public TextView mTv_title, mTv_providername, mTv_hospitalname,
mTv_readnum, mTv_price, mTv_free, mTv_old,
mTv_old_price;
}
}
}
@@ -0,0 +1,161 @@
package cn.shangyu.gdxzExpert.big.activity;
import android.content.Intent;
import android.graphics.Color;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.big.fragment.BigHomeFragment;
import cn.shangyu.gdxzExpert.big.fragment.BigMyFragment;
import cn.shangyu.gdxzExpert.big.fragment.BigRecommendFragment;
import cn.shangyu.gdxzExpert.big.adapter.NormalItemViewBig;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import me.majiajie.pagerbottomtabstrip.NavigationController;
import me.majiajie.pagerbottomtabstrip.OldPageNavigationView;
import me.majiajie.pagerbottomtabstrip.item.BaseTabItem;
import me.majiajie.pagerbottomtabstrip.listener.SimpleTabItemSelectedListener;
public class BigMainActivity extends BaseActivity {
@Override
public void setTitle() {
}
private OldPageNavigationView tab;
private FragmentManager manager;
NavigationController navigationController;
private Fragment currentFragment;
BigHomeFragment bigHomeFragment;
BigRecommendFragment bigRecommendFragment;
BigMyFragment bigMyFragment;
@Override
public View onCreateSuccessedView() {
View view = View.inflate(ct, R.layout.activity_big_main, null);
mToolbar.setVisibility(View.GONE);
ViewGroup.MarginLayoutParams p=(ViewGroup.MarginLayoutParams) layout.getLayoutParams();
p.setMargins(0,0, 0, 0);
layout.requestLayout();
tab= view.findViewById(R.id.tab);
//注意这里调用了custom()方法
navigationController = tab.custom()
.addItem(newItem(R.drawable.big_home_d,R.drawable.big_home,"首页"))
.addItem(newItem(R.drawable.big_r_d,R.drawable.big_r,"推荐"))
.addItem(newItem(R.drawable.big_my_d,R.drawable.big_my,"我的"))
.build();
navigationController.addSimpleTabItemSelectedListener(new SimpleTabItemSelectedListener() {
@Override
public void onSelected(int index, int old) {
// 选中时触发
switch (index)
{
case 0:
showFragment(bigHomeFragment);
break;
case 1:
showFragment(bigRecommendFragment);
break;
case 2:
showFragment(bigMyFragment);
break;
}
}
});
initFragment();
if(getIntent().getIntExtra("home_module",0)==0)
{
showFragment(bigHomeFragment);
}
else
{
navigationController.setSelect(getIntent().getIntExtra("home_module",0));
}
return view;
}
//创建一个Item
private BaseTabItem newItem(int drawable, int checkedDrawable, String text){
NormalItemViewBig normalItemView = new NormalItemViewBig(this);
normalItemView.initialize(drawable,checkedDrawable,text,14);
normalItemView.setTextDefaultColor(Color.parseColor("#999999"));
normalItemView.setTextCheckedColor(Color.parseColor("#ff8B2316"));
// normalItemView.setMessageNumber(1);
// normalItemView.setHasMessage(true);
return normalItemView;
}
private void initFragment()
{
manager = getSupportFragmentManager();
//实例化碎片对象
bigHomeFragment = new BigHomeFragment();
bigRecommendFragment = new BigRecommendFragment();
bigMyFragment = new BigMyFragment();
}
/**
71 * 展示Fragment
72 */
private void showFragment(Fragment fragment) {
if (currentFragment != fragment) {
FragmentTransaction transaction = manager.beginTransaction();
if(currentFragment!=null)
{
transaction.hide(currentFragment);
}
currentFragment = fragment;
if (!fragment.isAdded()) {
transaction.add(R.id.frame_container, fragment).show(fragment).commit();
} else {
transaction.show(fragment).commit();
}
}
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
}
@Override
public void onBackPressed() {
// super.onBackPressed();
doTaskToBackEvent();
Intent i= new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
doTaskToBackEvent();
}
return super.onKeyDown(keyCode, event);
}
/**
* 返回隐藏到后台
*/
public void doTaskToBackEvent() {
moveTaskToBack(true);
// 1登入系统 2退出系统 3专家客户端在手机前台运行 4.专家客户端在手机后台运行
BaseActivity.foreBack(this, 4);
}
}
@@ -0,0 +1,579 @@
package cn.shangyu.gdxzExpert.big.activity;
import static cn.bertsir.zbar.QrConfig.SCANVIEW_TYPE_QRCODE;
import static cn.bertsir.zbar.QrConfig.SCREEN_PORTRAIT;
import static cn.bertsir.zbar.QrConfig.TYPE_QRCODE;
import static cn.bertsir.zbar.view.ScanLineView.style_line;
import static cn.shangyu.gdxzExpert.utils.Url.getNewMeetingList;
import static cn.shangyu.gdxzExpert.utils.Url.scanurl;
import android.Manifest;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.github.dfqin.grantor.PermissionListener;
import com.github.dfqin.grantor.PermissionsUtil;
import com.hjq.window.EasyWindow;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.bertsir.zbar.Qr.ScanResult;
import cn.bertsir.zbar.QrConfig;
import cn.bertsir.zbar.QrManager;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.ConfirmActivity;
import cn.shangyu.gdxzExpert.activity.GDEventDetailActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.MeetingBean;
import cn.shangyu.gdxzExpert.big.adapter.BigMeetingAdapter;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.AESUtil;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.Constant;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
import cn.shangyu.gdxzExpert.utils.StreamTool;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
public class BigMettingActivity extends BaseActivity implements
AdapterView.OnItemClickListener, OnCallBackFromNet {
private TextView tv_empty_msg;
@Override
public void setTitle() {
top_title.setTextSize(23);
top_title.setText("看直播");
top_back_layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
top_right_text.setText("扫一扫");
top_right_text.setTextSize(18);
top_right_text.setVisibility(View.VISIBLE);
top_right_text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (PermissionsUtil.hasPermission(BigMettingActivity.this, Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
//有访问摄像头的权限,读写内存,网络定位,打电话,读取短信,录音,通讯录
startToCapture();
} else {
EasyWindow.with(BigMettingActivity.this).setGravity(Gravity.TOP).setYOffset(200).setWidth(1000)
.setContentView(R.layout.float_top_dialog).show();
PermissionsUtil.requestPermission(BigMettingActivity.this, new PermissionListener() {
@Override
public void permissionGranted(@NonNull String[] permissions) {
EasyWindow.cancelAll();
//用户授予了访问读取短信的权限
startToCapture();
}
@Override
public void permissionDenied(@NonNull String[] permissions) {
EasyWindow.cancelAll();
//用户拒绝了访问读取短信的申请
}
}, new String[]{Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE});
}
}else {
startToCapture();
}
}
});
}
View view;
private PullToRefreshListView ptrLv;
private String url = getNewMeetingList;
private int page = 1;
private List<MeetingBean.MeatingList> mList = new ArrayList<MeetingBean.MeatingList>();
private List<MeetingBean.MeatingList> tempList = new ArrayList<MeetingBean.MeatingList>();
BigMeetingAdapter mAdapter;
// private String status = "";//肝胆直播
LinearLayout ll_empty;
@Override
public View onCreateSuccessedView() {
// TODO Auto-generated method stub
view = UIUtils.inflate(R.layout.activity_big_metting);
ptrLv = (PullToRefreshListView) view.findViewById(R.id.lv_video);
// 空布局,处理
ll_empty = (LinearLayout) view.findViewById(R.id.ll_empty);
tv_empty_msg = (TextView) view.findViewById(R.id.tv_empty_msg);
tv_empty_msg.setText("暂无会议预告");
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
// 得到实际的ListView 设置点击
ptrLv.getRefreshableView().setOnItemClickListener(this);
ptrLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
page = 1;
meetingListBySearchNew("",page+"","","","");
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
meetingListBySearchNew("",page+"","","","");
}
});
initData();
return view;
}
private void meetingListBySearchNew(String location,String page,String type,String status,String month) {
showLoadingProgress();
Map<String, String> param = new HashMap<String, String>();
param.put("page", page);
sendJsonPostParamtoNetSignMD5(url + "V2", param, 01, this);
}
public void initData() {
// String result = SharePrefUtil.getString(this, url + "V2", null);
// if (!TextUtils.isEmpty(result)) {
// processData(result);
// } else {
// showLoadingProgress();
// }
// // 网络是否可用
// if (!CommonUtil.isNetworkAvailable()) {
// onLoaded();
// // 显示网络错误布局
// ptrLv.setEmptyView(tv_load_fail);
// return;
// }
meetingListBySearchNew("",page+"","","","");
}
// public List<String> DatasList;
public void getPosition() {
// DatasList = new ArrayList<String>();
// int count = 0;
// for (int i = 0; i < mList.size(); i++) {
// if (!DatasList.contains(mList.get(i).getBegin_date()
// .substring(0, 7))) {
// DatasList.add(mList.get(i).getBegin_date().substring(0, 7));
// // Positions.add(i + "");
// count = 0;
// mList.get(i).setCount(count);
// } else {
// count++;
// mList.get(i).setCount(count);
// }
// }
// 更新科普
if (mAdapter == null) {
mAdapter = new BigMeetingAdapter(this, mList);
ptrLv.getRefreshableView().setAdapter(mAdapter);
} else {
mAdapter.notifyDataSetChanged();
}
}
public void shuaixuanList(List<MeetingBean.MeatingList> lists)
{
tempList.clear();
for (MeetingBean.MeatingList bean:lists)
{
if(!StringUtil.isEmpty(bean.getLiveimg()))
{
tempList.add(bean);
}
}
}
/**
* 解析并处理数据
*
* @param result
*/
private void processData(String result) {
MeetingBean bean = null;
try {
bean = GsonTools.fromGsonToBean(result, MeetingBean.class);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (bean == null)
{
ptrLv.setEmptyView(ll_empty);
// 完成刷新
onLoaded();
return;
}
// 判断是下拉刷新还是加载更多
if (page == 1) {
mList.clear();
if (bean.data == null || bean.data.list.size() == 0) {
// 显示空布局
ptrLv.setEmptyView(ll_empty);
// 完成刷新
onLoaded();
return;
} else {
shuaixuanList(bean.data.list);
mList.addAll(tempList);
// mList.addAll(bean.data.list);
}
} else {
shuaixuanList(bean.data.list);
mList.addAll(tempList);
// mList.addAll(bean.data.list);
}
if (mAdapter == null) {
mAdapter = new BigMeetingAdapter(this, mList);
ptrLv.getRefreshableView().setAdapter(mAdapter);
} else {
mAdapter.notifyDataSetChanged();
}
// 完成刷新
onLoaded();
if (page > 1) {
// 是否有更多
if (bean.data == null || bean.data.list.size() == 0) {// 由于暂时虚构没数据,所以加载更多也没数据
ToastUtil.showMessage("没有更多会议了");
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
if (page > 1)
page--;
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else if (page == 1) {
// 得到总页码数
int totalPage = bean.data.pages;
if (totalPage <= 1 || totalPage < page) {
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
// 设置刷新的时间
setLastUpdateTime();
}
private void setLastUpdateTime() {
String text = CommonUtil.getStringDate();
ptrLv.getLoadingLayoutProxy().setLastUpdatedLabel(text);
}
private void onLoaded() {
dismissLoadingProgress();
ptrLv.onRefreshComplete();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
Intent intent = new Intent(BigMettingActivity.this, GDEventDetailActivity.class);
intent.putExtra("newsTitle", mList.get(position - 1).getTitle());
//intent.putExtra("url", Url.urlHtml + mList.get(position - 1).getPath());wcx旧版
intent.putExtra("url", mList.get(position - 1).getPath());
intent.putExtra("summary", mList.get(position - 1).getContent());
intent.setType("meeting");
startActivity(intent);
}
@Override
public void onCallbackFromThread(String resultJson) {
// TODO Auto-generated method stub
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
// TODO Auto-generated method stub\
// if (page == 1) {
// SharePrefUtil.saveString(this, url + "V2",
// resultJson);
//
// }
processData(resultJson);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
}
private void startToCapture() {
start();
// startActivity(new Intent(MainActivity.this, CaptureActivity.class));
}
String scanResult;
private void start() {
QrConfig qrConfig = new QrConfig.Builder()
.setDesText("将二维码放入框内,自动扫码")//扫描框下文字
.setShowDes(true)//是否显示扫描框下面文字
.setShowLight(false)//显示手电筒按钮
.setShowTitle(true)//显示Title
.setShowAlbum(false)//显示从相册选择按钮
.setNeedCrop(false)//是否从相册选择后裁剪图片
// .setCornerColor(Color.parseColor("#E42E30"))//设置扫描框颜色
.setLineColor(Color.parseColor("#8D2316"))//设置扫描线颜色
.setLineSpeed(QrConfig.LINE_MEDIUM)//设置扫描线速度
.setScanType(TYPE_QRCODE)//设置扫码类型(二维码,条形码,全部,自定义,默认为二维码)
.setScanViewType(SCANVIEW_TYPE_QRCODE)//设置扫描框类型(二维码还是条形码,默认为二维码)
.setCustombarcodeformat(QrConfig.BARCODE_PDF417)//此项只有在扫码类型为TYPE_CUSTOM时才有效
.setPlaySound(true)//是否扫描成功后bi~的声音
// .setDingPath(cb_show_custom_ding.isChecked() ? R.raw.test : R.raw.qrcode)//设置提示音(不设置为默认的Ding~)
.setIsOnlyCenter(false)//是否只识别框中内容(默认为全屏识别)
// .setTitleText(et_qr_title.getText().toString())//设置Tilte文字
.setTitleBackgroudColor(Color.parseColor("#FFEFEFEF"))//设置状态栏颜色
.setTitleTextColor(Color.parseColor("#8D2316"))//设置Title文字颜色
// .setShowZoom(cb_show_zoom.isChecked())//是否开始滑块的缩放
// .setAutoZoom(cb_auto_zoom.isChecked())//是否开启自动缩放(实验性功能,不建议使用)
// .setFingerZoom(cb_finger_zoom.isChecked())//是否开始双指缩放
// .setDoubleEngine(cb_double_engine.isChecked())//是否开启双引擎识别(仅对识别二维码有效,并且开启后只识别框内功能将失效)
.setScreenOrientation(SCREEN_PORTRAIT)//设置屏幕方式
.setOpenAlbumText("选择要识别的图片")//打开相册的文字
.setLooperScan(false)//是否连续扫描二维码
// .setLooperWaitTime(Integer.parseInt(et_loop_scan_time.getText().toString()) * 1000)//连续扫描间隔时间
.setScanLineStyle(style_line)//扫描线样式
// .setAutoLight(cb_auto_light.isChecked())//自动灯光
.setShowVibrator(true)//是否震动提醒
.create();
QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() {
@Override
public void onScanSuccess(ScanResult result) {
// Log.e(TAG, "onScanSuccess: " + result);
scanResult = result.getContent();
try {
scanResult= AESUtil.Decrypt(scanResult, "deoep09_klodLdAo");
new Thread(networkTask2).start();
} catch (Exception e) {
e.printStackTrace();
}
// Toast.makeText(MainActivity.this, "内容:" + result.getContent()
// + " 类型:" + result.getType(), Toast.LENGTH_SHORT).show();
}
});
}
String finres;
String canfinres;
Runnable networkTask2 = new Runnable() {
@Override
public void run() {
// TODO
//String url = null;
if(scanResult==null)
{
ToastUtil.showMessage("您扫描的不是有效的肝胆相照平台二维码");
// finish();
return;
}
if (scanResult.contains("watchliveFrom")) {
String uuid = SharePrefUtil.getString(BigMettingActivity.this, Constant.uuid, "123");
String realname = SharePrefUtil.getString(BigMettingActivity.this, Constant.realName, "肝胆相照专家");
String photo = SharePrefUtil.getString(BigMettingActivity.this, Constant.photo, "https://doc.igandan.com/app/html/img/2016/20160714132557.png");
if (StringUtil.isEmpty(photo) || "null".equals(photo)) {
photo = "https://doc.igandan.com/app/html/img/2016/20160714132557.png";
}
scanResult = scanResult.replaceAll("watchliveFrom:", "");
try {
//url = urlpath +"?message=" + AESUtil.Encrypt("liveScanSuccess}" + result + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo");
finres=AESUtil.Encrypt("watchliveTo}" + scanResult + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo");
canfinres=AESUtil.Encrypt("watchliveCancel}" + scanResult + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo");
getTooken1(scanurl,AESUtil.Encrypt("liveScanSuccess}" + scanResult + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo"));
} catch (Exception e) {
e.printStackTrace();
}
}
else if(scanResult.contains("watchvideoFrom")){
String uuid = SharePrefUtil.getString(BigMettingActivity.this, Constant.uuid, "123");
String realname = SharePrefUtil.getString(BigMettingActivity.this, Constant.realName, "肝胆相照专家");
String photo = SharePrefUtil.getString(BigMettingActivity.this, Constant.photo, "https://doc.igandan.com/app/html/img/2016/20160714132557.png");
if (StringUtil.isEmpty(photo) || "null".equals(photo)) {
photo = "https://doc.igandan.com/app/html/img/2016/20160714132557.png";
}
scanResult = scanResult.replaceAll("watchvideoFrom:", "");
try {
//url = urlpath + "?message=" +AESUtil.Encrypt("videoScanSuccess}" + result + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo");
finres=AESUtil.Encrypt("watchvideoTo}" + scanResult + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo");
canfinres=AESUtil.Encrypt("watchvideoCancel}" + scanResult + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo");
getTooken1(scanurl,AESUtil.Encrypt("videoScanSuccess}" + scanResult + "}" + uuid + "," + realname + "," + photo,"deoep09_klodLdAo"));
} catch (Exception e) {
e.printStackTrace();
}
}
else {
ToastUtil.showMessage("您扫描的不是有效的肝胆相照平台二维码");
// finish();
}
}
};
private void getTooken1(String urlStringUtil,String param) {
// TODO Auto-generated method stub
try {
String data="message="+ URLEncoder.encode(param,"UTF-8");
URL url = new URL(urlStringUtil);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setConnectTimeout(5 * 1000);
DataOutputStream dos=new DataOutputStream(conn.getOutputStream());
dos.writeBytes(data);
dos.flush();
dos.close();
if (conn.getResponseCode() == 200) {
InputStream inStream = conn.getInputStream();
String result = new String(
StreamTool.readInputStream(inStream), "UTF-8");
Log.d("saoresult" , result);
Message message = new Message();
message.what = 102;
message.obj = new String(result);
handler1.sendMessage(message);
}else {
Message message = new Message();
message.what = 105;
handler1.sendMessage(message);
ToastUtil.showMessage("请求失败了,请稍后重试");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
ToastUtil.showMessage("请求失败,请稍后重试");
}
}
public Handler handler1 = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case 102:
try {
String str = (String) msg.obj;
//Log.d("saoresult" , str);//{"code":1,"message":"授权成功"}
JSONObject objs = new JSONObject(str);
int retcode = objs.optInt("code");
// String expertuuid = objs.getString("expertUuid");
// String message = objs.getString("message");
//ToastUtil.showMessage(message,1);
if(retcode==1)
{
if(finres!=null&&canfinres!=null)
{
Intent intent=new Intent(BigMettingActivity.this, ConfirmActivity.class);
intent.putExtra("scancode",finres);
intent.putExtra("canfinres",canfinres);
startActivity(intent);
// finish();
}
}
else {
ToastUtil.showMessage("服务器异常!");
}
} catch (JSONException e) {
e.printStackTrace();
// ToastUtil.showMessage("服务器异常!");
finish();
}
break;
}
}
};
}
@@ -0,0 +1,451 @@
package cn.shangyu.gdxzExpert.big.activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import androidx.fragment.app.FragmentManager;
import com.gyf.immersionbar.ImmersionBar;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.MyWFArticleActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.big.fragment.BIgBookshelfFragment;
import cn.shangyu.gdxzExpert.fragment.BookshelfFragment2;
import cn.shangyu.gdxzExpert.fragment.MedicineBookFragment;
import cn.shangyu.gdxzExpert.fragment.PubMedFragment;
import cn.shangyu.gdxzExpert.fragment.SearchPaperFragment;
import cn.shangyu.gdxzExpert.fragment.ToolsListFragment;
import cn.shangyu.gdxzExpert.fragment.WFSearchFragment;
import cn.shangyu.gdxzExpert.utils.Constant;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.Url;
import cn.shangyu.gdxzExpert.view.NotNormalItemView;
import cn.shangyu.gdxzExpert.widge.pickerview.PopMenu;
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
import me.majiajie.pagerbottomtabstrip.NavigationController;
import me.majiajie.pagerbottomtabstrip.PageNavigationView;
import me.majiajie.pagerbottomtabstrip.item.BaseTabItem;
import me.majiajie.pagerbottomtabstrip.listener.SimpleTabItemSelectedListener;
/**
* MyLibraryActivity.java
*
* @author liufang
* @date 2015-11-4 上午9:40:44
*
*
* 功能说明:我的图书馆主页面
*/
public class BigMyLibraryActivity extends BaseActivity implements
OnCheckedChangeListener {
private RadioGroup main_radiogroup;
private FragmentManager fm;
private PopMenu popMenu;
private PageNavigationView mGroup_library;
private RadioButton mWf_Libiary, mEn_Libiary, mPubWed, mDaiCha;
private RadioButton mRb_Journal, mRb_Medicine, mRb_Tools;
View im_bg;
private NavigationController navigationController;
public View mV_lines,v_g;
private RadioButton mRb_chinease,iv_library_english,iv_library_wanfang;
public static int ERROR = 101;
public static boolean isdrug = true;
@Override
public void setTitle() {
top_back_layout.setVisibility(View.VISIBLE);
top_title.setTextSize(23);
top_right.setVisibility(View.GONE);
top_right.setImageResource(R.drawable.icon_library_right);
// 初始化弹出菜单
popMenu = new PopMenu(this);
popMenu.addItems(new String[] { getString(R.string.action_download),
getString(R.string.action_collect) },
new int[] { R.drawable.icon_pop_item_down,
R.drawable.icon_pop_item_collect });
// 菜单项点击监听器
popMenu.setOnItemClickListener(popmenuItemClickListener);
}
// 弹出菜单监听器
OnItemClickListener popmenuItemClickListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// ***********下载***********
if (position == 0) {
Intent intent = new Intent(ct, MyWFArticleActivity.class);
intent.setType("下载");
startActivity(intent);
// ************收藏************
} else if (position == 1) {
Intent intent = new Intent(ct, MyWFArticleActivity.class);
intent.setType("收藏");
startActivity(intent);
}
popMenu.dismiss();
}
};
@Override
public View onCreateSuccessedView() {
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
View view = View.inflate(ct, R.layout.activity_my_library_big, null);
v_g=view.findViewById(R.id.v_g);
v_g.setOnClickListener(this);
v_g.setVisibility(View.GONE);
main_radiogroup = (RadioGroup) view
.findViewById(R.id.main_radiogroup_library);
mGroup_library = view
.findViewById(R.id.tab);
mDaiCha = (RadioButton) view.findViewById(R.id.iv_library_daicha);
im_bg=view.findViewById(R.id.im_bg);
navigationController = mGroup_library.custom()
.addItem(newItem("代查文献"))
.addItem(newItem("英文文献"))
.build();
navigationController.addSimpleTabItemSelectedListener(new SimpleTabItemSelectedListener() {
@Override
public void onSelected(int index, int old) {
// 选中时触发
if(index==0)
{
changeSearch();
}
else
{
changeENJournal();
}
}
});
// mGroup_library.setOnCheckedChangeListener(mChangeListener);
main_radiogroup.setOnCheckedChangeListener(this);
// mLl_lines = (LinearLayout) view.findViewById(R.id.ll_lines);
mWf_Libiary = (RadioButton) view.findViewById(R.id.iv_library_wanfang);
mRb_Journal = (RadioButton) view.findViewById(R.id.tab_rbn_journal);
mRb_chinease = (RadioButton) view
.findViewById(R.id.iv_library_chinease);
iv_library_english=view.findViewById(R.id.iv_library_english);
iv_library_wanfang=view.findViewById(R.id.iv_library_wanfang);
mRb_Medicine = (RadioButton) view.findViewById(R.id.tab_rbn_express);
mRb_Tools = (RadioButton) view.findViewById(R.id.tab_rbn_tools);
// mV_line1 = view.findViewById(R.id.v_line1);
// mV_line2 = view.findViewById(R.id.v_line2);
// mV_line3 = view.findViewById(R.id.v_line3);
// mV_line4 = view.findViewById(R.id.v_line4);
mV_lines = view.findViewById(R.id.v_lines);
// tvGuide = (TextView) view.findViewById(R.id.tv_guide);
// tvJournal = (TextView) view.findViewById(R.id.tv_journal);
// tvExpress = (TextView) view.findViewById(R.id.tv_express);
// tvTools = (TextView) view.findViewById(R.id.tv_tools);
if(SharePrefUtil.getBoolean(this, Constant.ShowMagazine,true))
{
mRb_Journal.setVisibility(View.VISIBLE);
view.findViewById(R.id.tv_express).setVisibility(View.VISIBLE);
view.findViewById(R.id.tv_journal).setVisibility(View.VISIBLE);
view.findViewById(R.id.tab_rbn_guide).setVisibility(View.VISIBLE);
}
else
{
mRb_Journal.setVisibility(View.GONE);
view.findViewById(R.id.tv_express).setVisibility(View.GONE);
view.findViewById(R.id.tv_journal).setVisibility(View.GONE);
view.findViewById(R.id.tab_rbn_guide).setVisibility(View.GONE);
}
fm = getSupportFragmentManager();
String searchStr = getIntent().getStringExtra("search");
String navi = getIntent().getStringExtra("navi");
if (!StringUtil.isEmpty(navi) && navi.equals("journal")) {
mRb_Journal.setChecked(true);
} else if (!StringUtil.isEmpty(navi) && navi.equals("wf")) {
mRb_Journal.setChecked(true);
mWf_Libiary.setChecked(true);
} else if (!StringUtil.isEmpty(navi) && navi.equals("drug")) {
mRb_Medicine.setChecked(true);
isdrug = true;
} else if (!StringUtil.isEmpty(navi) && navi.equals("tools")) {
mRb_Tools.setChecked(true);
} else if (!StringUtil.isEmpty(navi) && navi.equals("interaction")) {
mRb_Medicine.setChecked(true);
isdrug = false;
} else {
changeGuide();
}
if (!StringUtil.isEmpty(searchStr) && searchStr.equals("searchStr")) {
mRb_Journal.setChecked(true);
mWf_Libiary.setChecked(true);
} else if (!StringUtil.isEmpty(searchStr)
&& searchStr.equals("medicine")) {
mRb_Medicine.setChecked(true);
}
if(!SharePrefUtil.getBoolean(this, Constant.ShowMagazine,true))
{
mRb_Tools.setChecked(true);
}
return view;
}
private BaseTabItem newItem(String text){
NotNormalItemView normalItemView = new NotNormalItemView(this);
normalItemView.initialize(text);
return normalItemView;
}
@Override
public ResultState onLoad() {
return ResultState.STATE_SUCCESSED;
}
OnCheckedChangeListener mChangeListener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
//代码设置drawableleft
Drawable drawable = getResources().getDrawable(
R.drawable.big_select);
// / 这一步必须要做,否则不会显示.
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
isZaZhi = true;
switch (checkedId) {
case R.id.iv_library_chinease:
mRb_chinease.setCompoundDrawables(null, null, null, drawable);
iv_library_english.setCompoundDrawables(null, null, null, null);
iv_library_wanfang.setCompoundDrawables(null, null, null, null);
changeWFJournal();
break;
case R.id.iv_library_english:
iv_library_english.setCompoundDrawables(null, null, null, drawable);
mRb_chinease.setCompoundDrawables(null, null, null, null);
iv_library_wanfang.setCompoundDrawables(null, null, null, null);
changeENJournal();
break;
case R.id.iv_library_pubmed:
changePubMed();
break;
case R.id.iv_library_daicha:
changeSearch();
break;
case R.id.iv_library_wanfang:
iv_library_wanfang.setCompoundDrawables(null, null, null, drawable);
iv_library_english.setCompoundDrawables(null, null, null, null);
mRb_chinease.setCompoundDrawables(null, null, null, null);
changeWFSearch();
break;
default:
break;
}
}
};
@Override
protected void processClick(View v) {
switch (v.getId()) {
case R.id.top_right:
popMenu.showAsDropDown(v);
// startActivity(new Intent(ct, DownloadCollectActivity.class));
break;
default:
break;
}
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// top_right.setVisibility(View.VISIBLE);
im_bg.setVisibility(View.GONE);
isZaZhi = false;
switch (checkedId) {
case R.id.tab_rbn_guide:
if (mGroup_library.getVisibility() == View.VISIBLE) {
mGroup_library.setVisibility(View.GONE);
// mLl_lines.setVisibility(View.GONE);
// mV_lines.setVisibility(View.GONE);
}
changeGuide();
break;
case R.id.tab_rbn_journal:
if (mGroup_library.getVisibility() == View.GONE) {
mGroup_library.setVisibility(View.VISIBLE);
// mLl_lines.setVisibility(View.VISIBLE);
// mV_lines.setVisibility(View.VISIBLE);
}
//代码设置drawableleft
Drawable drawable = getResources().getDrawable(
R.drawable.big_select);
// / 这一步必须要做,否则不会显示.
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
mRb_chinease.setCompoundDrawables(null, null, null, drawable);
mRb_chinease.setChecked(true);
// changeWFJournal();
changeSearch();
break;
case R.id.tab_rbn_express:
if (mGroup_library.getVisibility() == View.VISIBLE) {
mGroup_library.setVisibility(View.GONE);
// mLl_lines.setVisibility(View.GONE);
// mV_lines.setVisibility(View.GONE);
}
changeExpress();
break;
case R.id.tab_rbn_tools:
if (mGroup_library.getVisibility() == View.VISIBLE) {
mGroup_library.setVisibility(View.GONE);
// mLl_lines.setVisibility(View.GONE);
// mV_lines.setVisibility(View.GONE);
}
changeTools();
break;
}
}
/**
* 治疗指南
*/
private void changeGuide() {
top_title.setText("诊疗指南");
top_right.setVisibility(View.GONE);
BookshelfFragment2 mFragment = BookshelfFragment2.newInstance(Url.getGuideType, 0);
fm.beginTransaction().replace(R.id.frame_container, mFragment, "BOOKSHELF").commit();
}
/**
* 万方期刊杂志
*/
boolean isZaZhi = false;
private void changeWFJournal() {
top_title.setText("期刊杂志");
BIgBookshelfFragment mFragment = BIgBookshelfFragment.newInstance(
Url.getWfmagazineType, 1,false);
if (isZaZhi) {
isZaZhi = false;
fm.beginTransaction()
.setCustomAnimations(R.anim.slide_right_in,
R.anim.slide_left_out, R.anim.slide_left_in,
R.anim.slide_right_out)
.replace(R.id.frame_container, mFragment, "CHINEASE")
.commit();
} else {
fm.beginTransaction()
.replace(R.id.frame_container, mFragment, "CHINEASE")
.commit();
}
}
// PubMedFragment
/**
* PubMed
*/
private void changePubMed() {
top_title.setText("期刊杂志");
PubMedFragment mFragment = new PubMedFragment();
fm.beginTransaction()
.setCustomAnimations(R.anim.slide_right_in,
R.anim.slide_left_out, R.anim.slide_left_in,
R.anim.slide_right_out)
.replace(R.id.frame_container, mFragment, "PUBMED").commit();
}
/**
* 代查文献
*/
private void changeSearch() {
navigationController.setSelect(0);
im_bg.setVisibility(View.VISIBLE);
top_title.setText("期刊杂志");
SearchPaperFragment mFragment=new SearchPaperFragment();
// SearchLibiaryFragment mFragment = new SearchLibiaryFragment();
fm.beginTransaction()
.setCustomAnimations(R.anim.slide_right_in,
R.anim.slide_left_out, R.anim.slide_left_in,
R.anim.slide_right_out)
.replace(R.id.frame_container, mFragment, "PUBMED").commit();
}
;
/**
* 万方医学
*/
private void changeWFSearch() {
top_title.setText("期刊杂志");
WFSearchFragment mFragment = new WFSearchFragment();
fm.beginTransaction()
.setCustomAnimations(R.anim.slide_right_in,
R.anim.slide_left_out, R.anim.slide_left_in,
R.anim.slide_right_out)
.replace(R.id.frame_container, mFragment, "PUBMED").commit();
}
/**
* 英文期刊杂志
*/
private void changeENJournal() {
top_title.setText("期刊杂志");
im_bg.setVisibility(View.GONE);
BIgBookshelfFragment mFragment = BIgBookshelfFragment.newInstance(
Url.getCnmagazineType, 1,true);
fm.beginTransaction()
.setCustomAnimations(R.anim.slide_right_in,
R.anim.slide_left_out, R.anim.slide_left_in,
R.anim.slide_right_out)
.replace(R.id.frame_container, mFragment, "ENGLISH").commit();
}
/**
* 我的药箱
*/
private void changeExpress() {
top_title.setText("药品助手");
top_right.setVisibility(View.GONE);
MedicineBookFragment medicineBookFragment = new MedicineBookFragment();
fm.beginTransaction()
.replace(R.id.frame_container, medicineBookFragment,
"medicine_getsth_fragment").commitAllowingStateLoss();
}
/**
* 常用工具
*/
private void changeTools() {
top_title.setText("常用工具");
top_right.setVisibility(View.GONE);
ToolsListFragment mFragment = new ToolsListFragment();
fm.beginTransaction()
.replace(R.id.frame_container, mFragment, "TOOLS_LIST")
.commit();
}
/**
* singleTask 再次的回调
*/
@Override
protected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
super.onNewIntent(intent);
mDaiCha.setChecked(true);
changeSearch();
}
}
@@ -0,0 +1,938 @@
package cn.shangyu.gdxzExpert.big.activity;
import static com.netease.nimlib.sdk.msg.constant.SessionTypeEnum.P2P;
import static cn.shangyu.gdxzExpert.netease.bagder.Badger.saveUnreadFollow;
import static cn.shangyu.gdxzExpert.netease.bagder.Badger.unreadFollow;
import static cn.shangyu.gdxzExpert.umeng.PushHelper.readMessage;
import static cn.shangyu.gdxzExpert.utils.Constant.general;
import static cn.shangyu.gdxzExpert.utils.Url.relationRecordLately;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
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.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.gyf.immersionbar.ImmersionBar;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import com.netease.nim.uikit.business.session.constant.Extras;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.msg.MessageBuilder;
import com.netease.nimlib.sdk.msg.MsgService;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.json.JSONException;
import org.json.JSONObject;
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.activity.MyQrCodeActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.PatientListBean;
import cn.shangyu.gdxzExpert.bean.PatientListBean.PatientData;
import cn.shangyu.gdxzExpert.big.bean.OldPatientBean;
import cn.shangyu.gdxzExpert.ecdemo.storage.PatientSqlManager;
import cn.shangyu.gdxzExpert.ecdemo.ui.chatting.model.PatientModel;
import cn.shangyu.gdxzExpert.http.HttpHelper;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.netease.bagder.Badger;
import cn.shangyu.gdxzExpert.netease.ptop.MessageFragment;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.Constant;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.ImageOptions;
import cn.shangyu.gdxzExpert.utils.LogUtil;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
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.widget.LoadingPage.ResultState;
/**
*
* MainActivity.java
*
* @author ssy Copyright (C) 2015 河南商宇科技有限公司
*
* 功能说明:新的患者申请列表页面
*/
public class BigNewPatientActivity extends BaseActivity implements OnItemClickListener,OnCallBackFromNet {
// listview控件
private ListView ptrLv;
// 处理正在加载,空,错误的布局
private TextView load_empty;
private ArrayList<PatientData> PatientList = new ArrayList<PatientData>();
private String applyListUrl = Url.getapplyList;
private NewPatientAdapter patientAdapter;
private long count = 0;
public static int ERROR = 101;
public static int REQUEST_REFRESH = 102;
public static final int GETAPPLYLISTOPERATE = 200;
private String status;
private int position;
private String nickname;
private int page = 1;
private PullToRefreshListView ptrLv1;//30天内申请
private TextView text1,text;
@Override
public void setTitle() {
// TODO Auto-generated method stub
top_title.setText("新的患者");
top_title.setTextSize(23);
}
@Override
public View onCreateSuccessedView() {
// TODO Auto-generated method stub
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
View view = View.inflate(ct, R.layout.activity_new_patient_big, null);
ptrLv = (ListView) view.findViewById(R.id.lv_item_new_patient);
text1=view.findViewById(R.id.text1);
text=view.findViewById(R.id.text);
ptrLv1 = (PullToRefreshListView) view.findViewById(R.id.lv_patient);
// 处理正在加载,空,错误的布局
load_empty = (TextView) view.findViewById(R.id.load_empty);
ll_loading = (FrameLayout) view.findViewById(R.id.ll_loading);
ll_load_progress = (LinearLayout) view
.findViewById(R.id.ll_load_progress);
tv_load_fail = (TextView) view.findViewById(R.id.tv_load_fail);
TextView tv_add_patient = view.findViewById(R.id.tv_add_patient);
tv_add_patient.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(BigNewPatientActivity.this,MyQrCodeActivity.class);
startActivity(intent);
}
});
if(!StringUtil.isEmpty(getIntent().getStringExtra("message_id")))
{
readMessage(getIntent().getStringExtra("message_id"));
}
onLoaded1();
ptrLv1.setMode(PullToRefreshBase.Mode.BOTH);
// 得到实际的ListView 设置点击
ptrLv1.getRefreshableView().setOnItemClickListener(this);
ptrLv1.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
page = 1;
getOldPatient(page+"");
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
getOldPatient(page+"");
}
});
ptrLv1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
if("2".equals(tempList.get(i-1).getStatus()))
{
Intent intent = new Intent(BigNewPatientActivity.this, BigPatientActivity.class);
intent.putExtra("realName", tempList.get(i-1).getPatient_name());
intent.putExtra("patientUuid", tempList.get(i-1).getPatient_uuid());
intent.putExtra("photo", tempList.get(i-1).getPatient_photo());
intent.putExtra("type", Constant.typePatient);
//启动患者详情界面
startActivity(intent);
}
}
});
initData();
if(unreadFollow>0)
{
unreadFollow=0;
refreshMessages();
saveUnreadFollow();
}
return view;
}
public void refreshMessages()
{
int unreadNum = NIMClient.getService(MsgService.class).getTotalUnreadCount();
Badger.updateBadgerCount(unreadNum);
}
@Override
public ResultState onLoad() {
return ResultState.STATE_SUCCESSED;
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
// ECNotificationManager.getInstance().forceCancelNotification();
}
/**
* 实例化数据 initData
*
* void
*/
public void initData() {
// 从sp里取出上一次存的列表数据
// String result = SharePrefUtil.getString(ct, applyListUrl, null);
// LogUtil.i("result = "+result);
count = SharePrefUtil.getLong(ct, "new_patient_count", 0);
// if (!TextUtils.isEmpty(result)) {
// processData(result);
// } else {
// // 显示加载框
// showLoadingProgress();
// }
// // 网络是否可用
// if (!CommonUtil.isNetworkAvailable()) {
// onLoaded();
// ptrLv.setEmptyView(tv_load_fail);
// return;
// }
getNewPatientList(applyListUrl);
}
private void getOldPatient(String page)
{
// showProgressDialog("请求中...");
Map<String, String> param = new HashMap<String, String>();
param.put("page", page);
sendJsonPostParamtoNetSignMD5(relationRecordLately, param, 103, this);
}
/**
* 请求网络,获取患者申请的列表 getNewPatientList ssy
*
* @param loadUrl
* 请求地址 void
*/
private void getNewPatientList(final String loadUrl) {
String expertUuid = SharePrefUtil.getString(UIUtils.getContext(),
"uuid", "");
RequestParams params = new RequestParams();
params.addBodyParameter("expertUuid", expertUuid);
HttpHelper.loadData(HttpMethod.POST, loadUrl, params,
new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> info) {
SharePrefUtil.saveString(ct, loadUrl, info.result);
LogUtil.i("info.result = "+info.result);
processData(info.result);
}
@Override
public void onFailure(HttpException arg0, String arg1) {
LogUtil.i("数据请求失败了: " + arg1);
// onLoaded();
// ptrLv.setEmptyView(tv_load_fail);
ToastUtil.showToast("请求失败,请重试");
}
});
}
/**
* 刷新完毕的处理 onLoaded
*
* void
*/
private void onLoaded() {
// 隐藏加载进度框
// dismissLoadingProgress();
ptrLv1.onRefreshComplete();
}
/**
* 刷新完毕的处理 onLoaded
*
* void
*/
private void onLoaded1() {
// 隐藏加载进度框
dismissLoadingProgress();
}
/**
* 解析并处理数据
*
* @param result
*/
private void processData(String result) {
// 解析json数据
PatientListBean bean = GsonTools.fromGsonToBean(result,PatientListBean.class);
if (StringUtil.isOneToCode(bean.code)) {
ToastUtil.showToast(bean.message);
// ptrLv.setEmptyView(load_empty);
return;
}
// 初始化列表数据
PatientList.clear();
count = 0;
// 数据为空
if (bean.data == null || bean.data.size() == 0) {
// ptrLv.setEmptyView(load_empty);
text.setVisibility(View.GONE);
} else {
load_empty.setVisibility(View.GONE);
for (int i = 0; i < bean.data.size(); i++) {
// 判断状态是否是待审核,加入待审核到list,其他的不显示
if (1 == bean.data.get(i).status) {
PatientList.add(bean.data.get(i));
count++;
}
}
// 如果待审核也没有显示空布局
if (PatientList.size() <= 0) {
text.setVisibility(View.GONE);
}
else
{
load_empty.setVisibility(View.GONE);
text.setVisibility(View.VISIBLE);
}
}
// 实例化适配器
patientAdapter = new NewPatientAdapter(BigNewPatientActivity.this,
PatientList);
ptrLv.setAdapter(patientAdapter);
// fixListViewHeight(ptrLv);
SharePrefUtil.saveLong(ct, "new_patient_count", count);
// 完成
getOldPatient(page+"");
}
//ListAdapter listAdapter = mCateListView.getAdapter();
//int totalHeight = 0;
//int count = listAdapter.getCount();
private void fixListViewHeight(ListView listView)
{
int totalHeight = 0;
// 如果没有设置数据适配器,则 ListView 没有子项,返回
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null)
return;
int listViewWidth = this.getWindowManager().getDefaultDisplay().getWidth();
int widthSpec = View.MeasureSpec.makeMeasureSpec(listViewWidth, View.MeasureSpec.AT_MOST);
for (int i = 0, len = listAdapter.getCount(); i < len; i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(widthSpec, 0); // 计算子项View 的宽高
int list_child_item_height = listItem.getMeasuredHeight()+listView.getDividerHeight();
totalHeight += list_child_item_height; // 统计所有子项的总高度
}
// for (int index = 0,len = listAdapter.getCount(); index < len; index++ )
// {
// View listViewItem = listAdapter.getView(index,null,listView);
// // 计算子项 View 的宽高
// listViewItem.measure(0, 0);
// // 计算所有子项的高度和
// totalHeight += listViewItem.getMeasuredHeight();
// }
ViewGroup.LayoutParams params = listView.getLayoutParams();
//listView.getDividerHeight () 获取子项间分隔符的高度
//params.height 设置 ListView 完全显示需要的高度
// params.height = totalHeight + (listView.getDividerHeight()*(listAdapter.getCount()-1));
params.height =totalHeight;
listView.setLayoutParams(params);
}
private OldPatientAdapter mAdapter;
private OldPatientBean oldPatientBean;
private List<OldPatientBean.ListBean> mList=new ArrayList<>();
private List<OldPatientBean.ListBean> tempList = new ArrayList<>();
public void shuaixuanList(List<OldPatientBean.ListBean> lists)
{
tempList.clear();
for (OldPatientBean.ListBean bean:lists)
{
if("2".equals(bean.getStatus())||"3".equals(bean.getStatus())||"4".equals(bean.getStatus()))
{
tempList.add(bean);
}
}
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode){
case 103:
// closeProgressDialog();
oldPatientBean=GsonTools.fromGsonToBean(resultJson, OldPatientBean.class);
if (oldPatientBean == null)
{
text1.setVisibility(View.GONE);
if(PatientList.size()<1)
{
load_empty.setVisibility(View.VISIBLE);
}
// 完成刷新
onLoaded();
return;
}
// 判断是下拉刷新还是加载更多
if (page == 1) {
mList.clear();
if (oldPatientBean.getData() == null || oldPatientBean.getData().getList().size() == 0) {
// 显示空布局
if(PatientList.size()<1)
{
load_empty.setVisibility(View.VISIBLE);
}
// 完成刷新
onLoaded();
text1.setVisibility(View.GONE);
return;
} else {
shuaixuanList(oldPatientBean.getData().getList());
mList.addAll(tempList);
}
} else {
shuaixuanList(oldPatientBean.getData().getList());
mList.addAll(tempList);
;
}
if(mList.size()<1)
{
text1.setVisibility(View.GONE);
if(PatientList.size()<1)
{
load_empty.setVisibility(View.VISIBLE);
}
}
else
{
load_empty.setVisibility(View.GONE);
text1.setVisibility(View.VISIBLE);
}
if (mAdapter == null) {
mAdapter = new OldPatientAdapter(this, (ArrayList<OldPatientBean.ListBean>) mList);
ptrLv1.getRefreshableView().setAdapter(mAdapter);
} else {
mAdapter.notifyDataSetChanged();
}
// 完成刷新
onLoaded();
if (page > 1) {
// 是否有更多
if (oldPatientBean.getData() == null || oldPatientBean.getData().getList().size() == 0) {// 由于暂时虚构没数据,所以加载更多也没数据
ToastUtil.showMessage("没有更多了");
ptrLv1.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
if (page > 1)
page--;
} else {
ptrLv1.setMode(PullToRefreshBase.Mode.BOTH);
}
} else if (page == 1) {
// 得到总页码数
int totalPage = oldPatientBean.getData().getPages();
if (totalPage <= 1 || totalPage < page) {
ptrLv1.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
} else {
ptrLv1.setMode(PullToRefreshBase.Mode.BOTH);
}
} else {
ptrLv1.setMode(PullToRefreshBase.Mode.BOTH);
}
// 设置刷新的时间
setLastUpdateTime();
fixListViewHeight(ptrLv);
break;
case GETAPPLYLISTOPERATE:
page=1;
getOldPatient(page+"");
closeProgressDialog();
try {
JSONObject objs = new JSONObject(resultJson);
String retcode = objs.getString("code");
String message = objs.getString("message");
if (("1").equals(retcode)) {
// 插入该患者
String patientUuid = PatientList.get(position).patientUuid;
String realName = PatientList.get(position).realName;
String photo = PatientList.get(position).photo;
String mobile = PatientList.get(position).mobile;
int sex = PatientList.get(position).sex;
PatientModel patientModel = new PatientModel(
Constant.Patient_AppKey + patientUuid);
patientModel.setPhoto(photo);
patientModel.setMobile(mobile);
patientModel.setRealName(realName);
patientModel.setSex(sex);
patientModel.setType(Constant.typePatient);
PatientSqlManager.insertPatient(patientModel,
Constant.typePatient);
ToastUtil.showToast("操作成功");
PatientList.remove(position);
patientAdapter.notifyDataSetChanged();
BigNewPatientActivity.this
.setResult(REQUEST_REFRESH);
if (PatientList.isEmpty()) {
// ptrLv.setEmptyView(load_empty);
text.setVisibility(View.GONE);
}
count--;
SharePrefUtil.saveLong(ct, "new_patient_count",
count);
// CCPAppManager.startChattingAction(ct,
// Constant.Patient_AppKey + patientUuid,
// realName, "2,1,2,0", patientUuid, 6);
if (status != null && status.equals("2")) {
handleSendTextMessage(Constant.Patient_AppKey
+ patientUuid,realName);
Intent intent10 = new Intent(BigNewPatientActivity.this,
SetInformActivity.class);
intent10.putExtra("nickname_new",nickname);
intent10.putExtra("patientUuid",patientUuid);
// intent10.putExtra("nickname",nickname);
startActivity(intent10);
}
if (!nickname.equals(realName)){
// updatename( Url.getupdateNickname,patientUuid,SharePrefUtil.getString(ct, "uuid", ""), nickname,"");
}
} else {
ToastUtil.showToast(message);
}
SharePrefUtil.saveString(ct, Url.getapplyListOperate, "");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
}
private void setLastUpdateTime() {
String text = CommonUtil.getStringDate();
ptrLv1.getLoadingLayoutProxy().setLastUpdatedLabel(text);
}
public class NewPatientAdapter extends BaseAdapter {
private Context context;
private List<PatientData> PatientList;
private String applyListOperate = Url.getapplyListOperate;
// private ImageLoader imageLoader;
// private RequestQueue queue;
public NewPatientAdapter(Context context,
ArrayList<PatientData> patientList) {
this.context = context;
this.PatientList = patientList;
// queue = Volley.newRequestQueue(context);
// imageLoader = new ImageLoader(queue, new BitmapCache());
}
@Override
public int getCount() {
return PatientList.size();
}
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
if (convertView == null) {
convertView = View.inflate(context,
R.layout.item_new_patient_list_big, null);
mHolder = new NewsViewHolder();
mHolder.ivImage = convertView
.findViewById(R.id.iv_patient_image);
mHolder.tvDate = (TextView) convertView
.findViewById(R.id.tv_patient_date);
mHolder.tvInfo = (TextView) convertView
.findViewById(R.id.tv_patient_info);
mHolder.btOk = (Button) convertView
.findViewById(R.id.bt_new_patient_ok);
mHolder.btCancle = (Button) convertView
.findViewById(R.id.bt_new_patient_cancle);
convertView.setTag(mHolder);
} else {
mHolder = (NewsViewHolder) convertView.getTag();
}
// 给控件赋值.
PatientData p = PatientList.get(position);
mHolder.tvInfo.setText(p.content);
mHolder.tvDate.setText(p.createDate);
// mHolder.ivImage.setTag(p.photo+"");
// if(mHolder.ivImage.getTag().equals(p.photo+""))
// {
//// mHolder.ivImage.setDefaultImageResId(R.drawable.icon_touxiang_persion_gray_big);
//// mHolder.ivImage.setErrorImageResId(R.drawable.icon_touxiang_persion_gray_big);
// mHolder.ivImage.setImageUrl(Url.urlHtml + p.photo, imageLoader);
// }
//
// 通过 tag 来防止图片错位
// if (mHolder.ivImage.getTag() != null && mHolder.ivImage.getTag().equals(p.photo)) {
// ImageLoader
// .getInstance()
// .displayImage(
// Url.urlHtml + p.photo,
// mHolder.ivImage,
// ImageOptions
// .getImageOptions(R.drawable.icon_touxiang_persion_gray_big));
// }
if (!TextUtils.isEmpty(p.photo) && !"null".equals(p.photo)) {
ImageLoader
.getInstance()
.displayImage(
Url.urlHtml + p.photo,
mHolder.ivImage,
ImageOptions
.getImageOptions(R.drawable.icon_touxiang_persion_gray_big));
}
else
{
mHolder.ivImage.setImageResource(R.drawable.icon_touxiang_persion_gray_big);
}
// 待审核
mHolder.btOk.setVisibility(View.VISIBLE);
mHolder.btCancle.setVisibility(View.VISIBLE);
// 同意事件
mHolder.btOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
LogUtil.i("ok-position==" + position);
String uuid = PatientList.get(position).uuid;
PatientData p1 = PatientList.get(position);
String content=p1.content.replaceAll(",",",");
String[] split = content.split(",");
String[] split1 = split[0].split("我是");
String nickname =split1[1];
// String nickname = split1[split1.length];
String format = format(nickname);
getNewPatient(applyListOperate, uuid, "2", position,format);
}
});
// 拒绝事件
mHolder.btCancle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
LogUtil.i("cancle-position==" + position);
String uuid = PatientList.get(position).uuid;
PatientData p1 = PatientList.get(position);
String[] split = p1.content.split(",在");
String[] split1 = split[0].split("我是");
String nickname = split1[split1.length-1];
LogUtil.i("nickname = "+nickname);
String format = format(nickname);
LogUtil.i("format = "+format);
getNewPatient(applyListOperate, uuid, "3", position,format);
}
});
return convertView;
}
@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;
}
}
public class OldPatientAdapter extends BaseAdapter {
private Context context;
private List<OldPatientBean.ListBean> PatientList;
public OldPatientAdapter(Context context,
ArrayList<OldPatientBean.ListBean> patientList) {
this.context = context;
this.PatientList=patientList;
}
@Override
public int getCount() {
return PatientList.size();
}
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
if (convertView == null) {
convertView = View.inflate(context,
R.layout.item_new_patient_list_big1, null);
mHolder1 = new OldViewHolder();
mHolder1.ivImage = convertView
.findViewById(R.id.iv_patient_image);
mHolder1.tvDate = convertView
.findViewById(R.id.tv_patient_date);
mHolder1.tvInfo = convertView
.findViewById(R.id.tv_patient_info);
mHolder1.btOk = convertView
.findViewById(R.id.bt_new_patient_ok);
mHolder1.btCancle = convertView
.findViewById(R.id.bt_new_patient_cancle);
mHolder1.nickname=convertView.findViewById(R.id.nickname);
convertView.setTag(mHolder1);
} else {
mHolder1 = (OldViewHolder) convertView.getTag();
}
// 给控件赋值.
OldPatientBean.ListBean p = PatientList.get(position);
// if(StringUtil.isEmpty(p.getNickname()))
// {
// mHolder1.tvInfo.setMaxLines(2);
// mHolder1.nickname.setVisibility(View.GONE);
// }
// else
// {
// mHolder1.tvInfo.setMaxLines(1);
// mHolder1.nickname.setVisibility(View.VISIBLE);
// mHolder1.nickname.setText("备注名:"+p.getNickname());
// }
mHolder1.tvInfo.setMaxLines(1);
mHolder1.nickname.setVisibility(View.VISIBLE);
mHolder1.nickname.setText("昵称:"+p.getPatient_name());
mHolder1.tvInfo.setText(p.getContent());
mHolder1.tvDate.setText(p.getCreate_date());
if (!TextUtils.isEmpty(p.getPatient_photo()) && !"null".equals(p.getPatient_photo())) {
RequestOptions requestOptions = new RequestOptions().error(R.drawable.icon_touxiang_persion_gray_big);
Glide.with(context).asBitmap().load(Url.urlHtml + p.getPatient_photo()).apply(requestOptions)
.into(mHolder1.ivImage);
// ImageLoader
// .getInstance()
// .displayImage(
// Url.urlHtml + p.getPatient_photo(),
// mHolder1.ivImage,
// ImageOptions
// .getImageOptions(R.drawable.icon_touxiang_persion_gray_big));
}
else
{
mHolder1.ivImage.setImageResource(R.drawable.icon_touxiang_persion_gray_big);
}
// 待审核
switch (p.getStatus())
{
case "2":
mHolder1.btOk.setText("已同意");
mHolder1.btCancle.setVisibility(View.VISIBLE);
break;
case "3":
mHolder1.btOk.setText("已拒绝");
mHolder1.btCancle.setVisibility(View.GONE);
break;
case "4":
mHolder1.btOk.setText("已过期");
mHolder1.btCancle.setVisibility(View.GONE);
break;
}
return convertView;
}
@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;
}
}
private NewsViewHolder mHolder = null;
private OldViewHolder mHolder1 = null;
private class NewsViewHolder {
public Button btCancle;
public Button btOk;
public ImageView ivImage;
public TextView tvInfo;
public TextView tvDate;
}
private class OldViewHolder {
public ImageView btCancle;
public TextView btOk;
public ImageView ivImage;
public TextView tvInfo;
public TextView tvDate;
public TextView nickname;
}
public static String format(String s){
String str=s.replaceAll("[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……& ;*()——+|{}【】‘;:”“’。,、?|-]", "");
return str;
}
/**
* 同意或拒绝操作 getNewPatient
*
* @param loadUrl
* @param uuid
* @param status
* @param position
* void
*/
private void getNewPatient(final String loadUrl, String uuid,
final String status, final int position, final String nickname) {
showProgressDialog("请求中...");
this.status = status;
this.position = position;
this.nickname = nickname;
Map<String,String> map = new HashMap<>();
map.put("uuid",uuid);
map.put("status",status);
sendParamtoNet(loadUrl,map,GETAPPLYLISTOPERATE,this,false);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
if (ptrLv.getHeaderViewsCount() > 0) {
position = position - 1;
}
}
private void updatename(final String loadUrl, final String patientUuid, String expertUuid, String NickName, String NoteContent) {
// TODO Auto-generated method stub
RequestParams params = new RequestParams();//封装参数
params.addBodyParameter("patientUuid",patientUuid);//患者uuid
params.addBodyParameter("expertUuid",expertUuid);//专家uuid
params.addBodyParameter("nickname",NickName);//别名
params.addBodyParameter("note",NoteContent);//备注内容
HttpHelper.loadData(HttpMethod.POST, loadUrl, params,
new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> info) {
SharePrefUtil.saveString(ct, patientUuid,info.result);
LogUtil.i(info.result);
// getproseData(info.result);
}
@Override
public void onFailure(HttpException arg0, String arg1) {
LogUtil.i("数据请求失败了: " + arg1);
closeProgressDialog();
// ToastUtil.showMsgCustomToast("加载失败");
}
});
}
/**
* 处理文本发送方法事件通知
*
* @param
*/
private void handleSendTextMessage(String patientuuid,String realname) {
IMMessage imMessage = MessageBuilder.createTextMessage(patientuuid.split("#")[1].toLowerCase(), P2P, "你好,我已经是你的随访医生了");
MessageFragment.ext.clear();
// MessageFragment.ext.put(Extras.EXTRA_GDXZ_NICKNAME, UserInfoHelper.getUserName(patientuuid));
MessageFragment.ext.put(Extras.EXTRA_GDXZ_NICKNAME, realname);
MessageFragment.ext.put(Extras.EXTRA_GDXZ_TYPE,general);
imMessage.setRemoteExtension(MessageFragment.ext);
NIMClient.getService(MsgService.class).sendMessage(imMessage,false);
// // 组建一个待发送的ECMessage
// ECMessage msg = ECMessage.createECMessage(ECMessage.Type.TXT);
// // 设置消息接收者
// msg.setTo(patientuuid);
// // 创建一个文本消息体,并添加到消息对象中
// ECTextMessageBody msgBody = new ECTextMessageBody("你好,我已经是你的随访医生了");
// msg.setBody(msgBody);
// msg.setUserData("2,1,2,0");
// try {
// // 发送消息,该函数见上
// long rowId = -1;
// rowId = IMChattingHelper.sendECMessage(msg);
// // 通知列表刷新
// msg.setId(rowId);
// // notifyIMessageListView(msg);
// } catch (Exception e) {
// e.printStackTrace();
// }
}
@Override
protected void processClick(View v) {
// TODO Auto-generated method stub
}
}
@@ -0,0 +1,696 @@
package cn.shangyu.gdxzExpert.big.activity;
import static cn.shangyu.gdxzExpert.application.BaseApplication.getContext;
import static cn.shangyu.gdxzExpert.umeng.PushHelper.readMessage;
import static cn.shangyu.gdxzExpert.utils.CommonUtil.BigModule;
import static cn.shangyu.gdxzExpert.utils.Url.appMesageRead;
import static cn.shangyu.gdxzExpert.utils.Url.unReadList;
import android.app.AlertDialog;
import android.content.Intent;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.gyf.immersionbar.ImmersionBar;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.AccumulatePointsActivity;
import cn.shangyu.gdxzExpert.activity.BillDetailsActivity;
import cn.shangyu.gdxzExpert.activity.BookshelfListActivity2;
import cn.shangyu.gdxzExpert.activity.CaseCussionDetailActivity;
import cn.shangyu.gdxzExpert.activity.FaPiaoActivity;
import cn.shangyu.gdxzExpert.activity.GanDanHouseDetialActivity;
import cn.shangyu.gdxzExpert.activity.MyCoursewareActivity;
import cn.shangyu.gdxzExpert.activity.MyFlowerActivity;
import cn.shangyu.gdxzExpert.activity.MyFuliCardActivity;
import cn.shangyu.gdxzExpert.activity.WebActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.MessageBean;
import cn.shangyu.gdxzExpert.bean.MessageNumBean;
import cn.shangyu.gdxzExpert.big.fragment.BigFuMessageFragment;
import cn.shangyu.gdxzExpert.big.fragment.BigHuiMessageFragment;
import cn.shangyu.gdxzExpert.big.fragment.BigOrderMessageFragment;
import cn.shangyu.gdxzExpert.big.fragment.BigSuiMessageFragment;
import cn.shangyu.gdxzExpert.fragment.FuMessageFragment;
import cn.shangyu.gdxzExpert.fragment.HuiMessageFragment;
import cn.shangyu.gdxzExpert.fragment.OrderMessageFragment;
import cn.shangyu.gdxzExpert.fragment.SuiMessageFragment;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.pointsmall.PointsMallActivity;
import cn.shangyu.gdxzExpert.polyvplayer.CourseDetailPolyvPlayerActivity;
import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity;
import cn.shangyu.gdxzExpert.umeng.PushCourseUrlDetailActivity;
import cn.shangyu.gdxzExpert.umeng.PushNewsDetailActivity;
import cn.shangyu.gdxzExpert.umeng.PushZhiBoActivity;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.Url;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import me.majiajie.pagerbottomtabstrip.NavigationController;
import me.majiajie.pagerbottomtabstrip.OldPageNavigationView;
import me.majiajie.pagerbottomtabstrip.item.BaseTabItem;
import me.majiajie.pagerbottomtabstrip.item.NormalItemView;
import me.majiajie.pagerbottomtabstrip.listener.SimpleTabItemSelectedListener;
public class BigNewSystemMessageActivity extends BaseActivity implements OnCallBackFromNet {
public OldPageNavigationView tab;
public OldPageNavigationView tab1;
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_new_system_message);
// }
public static final String fragmentTag1 = "fragment1";
public static final String fragmentTag2 = "fragment2";
public static final String fragmentTag3 = "fragment3";
public static final String fragmentTag4 = "fragment4";
private Fragment currentFragment;
private FragmentManager manager;
private BigFuMessageFragment fuMessageFragment;
private BigOrderMessageFragment orderMessageFragment;
private BigSuiMessageFragment suiMessageFragment;
private BigHuiMessageFragment huiMessageFragment;
NavigationController navigationController;
NavigationController navigationController1;
private int num0=0,num1=0,num2=0,num3=0;
public Boolean needrequest=false;//是否需要重新请求
public int unreadnum=0;
private View big_top_bar;
TextView top_right_text;
RelativeLayout top_back_layout;
public ImageView im_bg;
@Override
public void setTitle() {
// top_title.setText("消息");
// top_right.setImageResource(R.drawable.clear_message);
// top_right.setVisibility(View.VISIBLE);
// top_right.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// clearMessage();
// }
// });
}
private void clearMessage()
{
LayoutInflater inflater = LayoutInflater.from(this);
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_new, null);
AlertDialog dialog3 = new AlertDialog.Builder(
BigNewSystemMessageActivity.this,AlertDialog.THEME_HOLO_LIGHT).create();
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
RelativeLayout r_b =layout.findViewById(R.id.r_b);
TextView tv_tishi=layout.findViewById(R.id.tv_tishi);
if(unreadnum>0)
{
}
else
{
r_b.setVisibility(View.GONE);
btn_sure.setText("确定");
tv_tishi.setText("您没有可清除的未读消息");
}
dialog3.show();
Window window =dialog3.getWindow();
// window.setGravity(Gravity.CENTER);
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(layoutParams);
dialog3.getWindow().setContentView(layout);
dialog3.setCanceledOnTouchOutside(false);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog3.dismiss();
}
});
btn_sure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(unreadnum>0){
needrequest=true;
showLoadingProgress();
clearMsg("");
}
dialog3.dismiss();
}
});
}
@Override
public View onCreateSuccessedView() {
mToolbar.setVisibility(View.GONE);
ViewGroup.MarginLayoutParams p=(ViewGroup.MarginLayoutParams) layout.getLayoutParams();
p.setMargins(0,0, 0, 0);
layout.requestLayout();
View view = View.inflate(ct, R.layout.activity_new_system_message_big, null);
big_top_bar=view.findViewById(R.id.big_top_bar);
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(big_top_bar).init();
tab= view.findViewById(R.id.tab);
tab1= view.findViewById(R.id.tab1);
top_right_text=view.findViewById(R.id.top_right_text);
top_right_text.setOnClickListener(this);
top_back_layout=view.findViewById(R.id.top_back_layout);
top_back_layout.setOnClickListener(this);
im_bg=view.findViewById(R.id.im_bg);
//注意这里调用了custom()方法
navigationController = tab.custom()
.addItem(newItem(R.drawable.fu_message_big,R.drawable.fu_message_big,"福利"))
.addItem(newItem(R.drawable.ding_message_big,R.drawable.ding_message_big,"订单"))
.addItem(newItem(R.drawable.sui_message_big,R.drawable.sui_message_big,"随访"))
.addItem(newItem(R.drawable.hui_message_big,R.drawable.hui_message_big,"回复我的"))
.build();
navigationController.addSimpleTabItemSelectedListener(new SimpleTabItemSelectedListener() {
@Override
public void onSelected(int index, int old) {
if(tab1.getVisibility()==View.GONE)
{
navigationController1.setSelect(index);
}
// 选中时触发
switch (index)
{
case 0:
showFragment(fuMessageFragment);
break;
case 1:
showFragment(orderMessageFragment);
break;
case 2:
showFragment(suiMessageFragment);
break;
case 3:
showFragment(huiMessageFragment);
break;
}
}
});
//注意这里调用了custom()方法
navigationController1 = tab1.custom()
.addItem(newItem1("福利"))
.addItem(newItem1("订单"))
.addItem(newItem1("随访"))
.addItem(newItem1("回复我的"))
.build();
navigationController1.addSimpleTabItemSelectedListener(new SimpleTabItemSelectedListener() {
@Override
public void onSelected(int index, int old) {
if(tab.getVisibility()==View.GONE)
{
navigationController.setSelect(index);
}
// 选中时触发
switch (index)
{
case 0:
showFragment(fuMessageFragment);
break;
case 1:
showFragment(orderMessageFragment);
break;
case 2:
showFragment(suiMessageFragment);
break;
case 3:
showFragment(huiMessageFragment);
break;
}
}
});
if(!StringUtil.isEmpty(getIntent().getStringExtra("message_id")))
{
readMessage(getIntent().getStringExtra("message_id"));
}
// showLoadingProgress();
initMessage();
initFragment();
if(getIntent().getIntExtra("module",0)==0)
{
showFragment(fuMessageFragment);
}
else
{
navigationController.setSelect(getIntent().getIntExtra("module",0));
navigationController1.setSelect(getIntent().getIntExtra("module",0));
}
// showFragment(fuMessageFragment);
return view;
}
public void initMessage()
{
Map<String,String> map=new HashMap<>();
sendJsonPostParamtoNetSignMD5(unReadList,map,101,this);
}
private void clearMsg(String id)
{
Map<String,String> map=new HashMap<>();
map.put("id",id);
sendJsonPostParamtoNetSignMD5(appMesageRead,map,102,this);
}
/**
71 * 展示Fragment
72 */
private void showFragment(Fragment fragment) {
if (currentFragment != fragment) {
FragmentTransaction transaction = manager.beginTransaction();
if(currentFragment!=null)
{
transaction.hide(currentFragment);
}
currentFragment = fragment;
if (!fragment.isAdded()) {
transaction.add(R.id.frame_container, fragment).show(fragment).commit();
} else {
transaction.show(fragment).commit();
}
}
}
private void initFragment()
{
manager = getSupportFragmentManager();
//实例化碎片对象
fuMessageFragment = new BigFuMessageFragment();
orderMessageFragment = new BigOrderMessageFragment();
suiMessageFragment = new BigSuiMessageFragment();
huiMessageFragment=new BigHuiMessageFragment();
}
//创建一个Item
private BaseTabItem newItem(int drawable, int checkedDrawable, String text){
NormalItemView normalItemView = new NormalItemView(this);
normalItemView.initialize(drawable,checkedDrawable,text,18);
normalItemView.setTextDefaultColor(Color.parseColor("#ff666666"));
normalItemView.setTextCheckedColor(Color.parseColor("#ff8B2316"));
return normalItemView;
}
//创建一个Item
private BaseTabItem newItem1(String text){
NormalItemView normalItemView = new NormalItemView(this);
normalItemView.initialize(text,18);
normalItemView.setTextDefaultColor(Color.parseColor("#ff666666"));
normalItemView.setTextCheckedColor(Color.parseColor("#ff8B2316"));
return normalItemView;
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
switch (v.getId())
{
case R.id.top_right_text:
clearMessage();
break;
case R.id.top_back_layout:
finish();
break;
}
}
@Override
public void onCallbackFromThread(String resultJson) {
}
public void reInitMessage()
{
initMessage();
if(currentFragment instanceof FuMessageFragment)
{
((FuMessageFragment) currentFragment). initMessage("1",((FuMessageFragment) currentFragment).page+"");
}
else if(currentFragment instanceof OrderMessageFragment)
{
((OrderMessageFragment) currentFragment). initMessage("2",((OrderMessageFragment) currentFragment).page+"");
}
else if(currentFragment instanceof SuiMessageFragment)
{
((SuiMessageFragment) currentFragment). initMessage("3",((SuiMessageFragment) currentFragment).page+"");
}
else if(currentFragment instanceof HuiMessageFragment)
{
((HuiMessageFragment) currentFragment). initMessage("4",((HuiMessageFragment) currentFragment).page+"");
}
}
MessageNumBean messageNumBean;
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode)
{
case 102:
dismissLoadingProgress();
try {
JSONObject jsonObject=new JSONObject(resultJson);
if("200".equals(jsonObject.optString("code")))
{
if(needrequest)
{
needrequest=false;
reInitMessage();
}
}
else
{
ToastUtil.showMessage(jsonObject.optString("message"));
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
case 101:
// dismissLoadingProgress();
messageNumBean= GsonTools.fromGsonToBean(resultJson,MessageNumBean.class);
if("200".equals(messageNumBean.getCode()))
{
if(messageNumBean.getData()!=null)
{
// setUnread(0,111+"");
setUnread(0,messageNumBean.getData().getModule_Welfare());
setUnread(1,messageNumBean.getData().getModule_Order());
setUnread(2,messageNumBean.getData().getModule_Relation());
setUnread(3,messageNumBean.getData().getModule_Comment());
}
}
break;
}
}
public void setUnread(int index,String num)
{
unreadnum=0;
if(!StringUtil.isEmpty(num)&&Integer.valueOf(num)>0)
{
navigationController.setMessageNumber(index,Integer.valueOf(num));
navigationController.setHasMessage(index,true);
navigationController1.setMessageNumber(index,Integer.valueOf(num));
navigationController1.setHasMessage(index,true);
switch (index)
{
case 0:
num0=Integer.valueOf(num);
break;
case 1:
num1=Integer.valueOf(num);
break;
case 2:
num2=Integer.valueOf(num);
break;
case 3:
num3=Integer.valueOf(num);
break;
}
}
else
{
navigationController.setMessageNumber(index,0);
navigationController.setHasMessage(index,false);
navigationController1.setMessageNumber(index,0);
navigationController1.setHasMessage(index,false);
switch (index)
{
case 0:
num0=0;
break;
case 1:
num1=0;
break;
case 2:
num2=0;
break;
case 3:
num3=0;
break;
}
}
unreadnum=num0+num1+num2+num3;
}
public void goActivity(String type, MessageBean.BeanData.DetailBean pushBean,int index)
{
switch (index)
{
case 0:
if(num0>0)
{
clearMsg(pushBean.getId());
num0--;
setUnread(index,num0+"");
}
break;
case 1:
if(num1>0)
{
clearMsg(pushBean.getId());
num1--;
setUnread(index,num1+"");
}
break;
case 2:
if(num2>0)
{
clearMsg(pushBean.getId());
num2--;
setUnread(index,num2+"");
}
break;
case 3:
if(num3>0)
{
clearMsg(pushBean.getId());
num3--;
setUnread(index,num3+"");
}
break;
}
Intent intent=new Intent();
switch (type)
{
case "1"://新闻
intent.setClass(getContext(),PushNewsDetailActivity.class);
intent.putExtra("title", "新闻详情");
intent.putExtra("newsuuid", pushBean.getExtra().getUuid());
intent.putExtra("flag", 3);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"3"://肝胆视频
Intent intent4 = VideoDetailPolyvPlayerActivity.newIntent(getContext(), VideoDetailPolyvPlayerActivity.PlayMode.portrait,"");
// 在线视频和下载的视频播放的时候只显示播放器窗口,用该参数来控制
intent4.putExtra("startNow", false);
intent4.putExtra("isVlmsOnline", false);
intent4.putExtra("uuid", pushBean.getExtra().getUuid());
intent4.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent4);
break;
case"4"://直播
intent.setType("zhibo");
intent.setClass(getContext(),PushZhiBoActivity.class);
intent.putExtra("id", pushBean.getExtra().getId());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"5"://肝胆课件
intent.setClass(getContext(),PushCourseUrlDetailActivity.class);
intent.putExtra("uuid", pushBean.getExtra().getUuid());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"6"://精品课
case"7":
intent.setClass(getContext(), CourseDetailPolyvPlayerActivity.class);
intent.putExtra("excellentcourse_id", pushBean.getExtra().getId());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"9"://积分商城
if(BigModule())
{
intent.setClass(getContext(), BigPointsMallActivity.class);
}
else
{
intent.setClass(getContext(), PointsMallActivity.class);
}
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"10"://指南
intent.setClass(getContext(), BookshelfListActivity2.class);
intent.putExtra("typeUuid", pushBean.getExtra().getUuid());
intent.putExtra("title", pushBean.getExtra().getName());
intent.putExtra("loadUrl", Url.getGuideList);
intent.putExtra("type", "0");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"11"://普通url
intent.setClass(getContext(), WebActivity.class);
intent.putExtra("url",pushBean.getExtra().getUrl());
intent.putExtra("title","推送消息");
intent.putExtra("need_share","0");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case "12"://申请随访
case "14":
intent.setClass(getContext(), BiggNewPatientActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case "13"://解除随访
// intent.setClass(getContext(), NewSystemMessageActivity.class);
// intent.putExtra("module",2);
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// getContext().startActivity(intent);
break;
case"15"://精品课评论
intent.setClass(getContext(), CourseDetailPolyvPlayerActivity.class);
intent.putExtra("excellentcourse_id", pushBean.getExtra().getId());
intent.putExtra("pinglun","yes");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"16"://一问多答
intent.setClass(getContext(), BigNewSystemMessageActivity.class);
intent.putExtra("step1_uuid",pushBean.getExtra().getStep1_uuid());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"17"://病例讨论
intent.setClass(getContext(), CaseCussionDetailActivity.class);
intent.putExtra("uuid", pushBean.getExtra().getUuid());//传值病例的uuid
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"18"://送花
intent.setClass(getContext(), MyFlowerActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"19"://课件收益
intent.setClass(getContext(), MyCoursewareActivity.class);
intent.putExtra("changeMyCoolect",1);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"21"://提现
intent.setClass(getContext(), BillDetailsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"20"://发票
intent.setClass(getContext(), FaPiaoActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"28"://课件分享
case"30"://精品课优质评价
case"31"://学完返现
case"32"://福利课堂
case"33"://阅读福利
case"34"://观看福利
case"36"://特别奖励
intent.setClass(getContext(), AccumulatePointsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"35"://福利卡
intent.setClass(getContext(), MyFuliCardActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case "40"://互动圈
intent.setClass(getContext(), GanDanHouseDetialActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("uuid",pushBean.getExtra().getUuid());
getContext().startActivity(intent);
break;
default:
break;
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,800 @@
package cn.shangyu.gdxzExpert.big.activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.text.format.DateUtils;
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.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.google.gson.Gson;
import com.gyf.immersionbar.ImmersionBar;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.NewsDetailActivity;
import cn.shangyu.gdxzExpert.adapter.HospitalAdapter;
import cn.shangyu.gdxzExpert.base.AppManager;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.GoodsListBean;
import cn.shangyu.gdxzExpert.bean.GoodsNewsListBean;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.pointsmall.BuyIntegerActivty;
import cn.shangyu.gdxzExpert.pointsmall.MyExchangeActivity;
import cn.shangyu.gdxzExpert.pointsmall.ProductDetailActivity;
import cn.shangyu.gdxzExpert.pointsmall.PullToRefreshHeadGridView;
import cn.shangyu.gdxzExpert.polyvplayer.QualityCourseActivity;
import cn.shangyu.gdxzExpert.pulltorefreshview.ILoadingLayout;
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.ui.CustomProgressDialog;
import cn.shangyu.gdxzExpert.utils.ImageOptions;
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.DrawableCenterCheckBox;
import cn.shangyu.gdxzExpert.view.RollViewPager;
import cn.shangyu.gdxzExpert.view.RollViewPager.OnPagerClickCallback;
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
public class BigPointsMallActivity extends BaseActivity implements OnClickListener,OnItemClickListener,OnCallBackFromNet{
private PullToRefreshHeadGridView gv_product;
private int startPage = 1;
private PointsMallAdapter adapter;
// private RelativeLayout headerView;
private CustomProgressDialog pd;
private GoodsListBean fromJsonBean;
private List<GoodsListBean.DataBean.ListBean> beans;
private LinearLayout ll_empty;
// private LinearLayout top_news_viewpager,dots_ll;
private ArrayList<View> dotList;
private RollViewPager mViewPager;
private ArrayList<String> titleList;
protected static final int GET_DATA_SUCCESS = 0; // 请求数据成功的结果码
private DrawableCenterCheckBox cb_exchange,cb_score,cb_shelf;
private Boolean cb_exchangeb=false;
private Boolean cb_scoreb=false;
private Boolean cb_shelfb=false;
private String sort ="1";
String name="";
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
pd.dismiss();
switch (msg.what) {
case GET_DATA_SUCCESS:
if (beans.size() == 0) {
// 没有获取则显示暂无随访的图文信息
pd.dismiss();
// ll_empty.setVisibility(View.VISIBLE);
gv_product.setEmptyView(ll_empty);
gv_product.setMode(Mode.DISABLED);
setAdapter();
return;
}
if (beans.size() < 4||fromJsonBean.getData().getList().size()==0) {
gv_product.setMode(Mode.PULL_FROM_START);
}else {
gv_product.setMode(Mode.BOTH);
}
setAdapter();
pd.dismiss();
gv_product.onRefreshComplete();
break;
default:
break;
}
}
};
private GoodsNewsListBean fromJsonBean1;
// private TextView topNewsTitle;
private Button bt_qualitycourse;
private LinearLayout ll_integraltickit,ll_buy_point;
private void setAdapter() {
// TODO Auto-generated method stub
if (adapter == null) {
adapter = new PointsMallAdapter();
gv_product.getRefreshableView().setAdapter(adapter);
} else {
adapter.notifyDataSetChanged();
}
}
@Override
public void setTitle() {
// TODO Auto-generated method stub
top_title.setText("积分商城");
top_title.setTextSize(23);
top_back_layout.setOnClickListener(this);
top_right_text = (TextView) findViewById(R.id.top_right_text);
top_right_text.setVisibility(View.VISIBLE);
top_right_text.setText("搜索");
top_right_text.setTextSize(18);
top_right_text.setOnClickListener(this);
top_back_layout.setOnClickListener(this);
}
String tag_type="";
private PullToRefreshListView ptrLv;
private PullToRefreshListView ptrLvpx;
RelativeLayout rl_pop_list,rl_pop_listp;
int[]sx;
String[]ssx;
String[]ssxid;
int[]px=new int[4];
HospitalAdapter sxhospitalAdapter,pxhospitalAdapter;
@Override
public View onCreateSuccessedView() {
// TODO Auto-generated method stub
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
View view = UIUtils.inflate(R.layout.activity_pointsmall_big);
getTypeData();
if (!StringUtil.isEmpty(getIntent().getStringExtra("name"))) {
name=getIntent().getStringExtra("name");
}
ll_integraltickit = view.findViewById(R.id.ll_integraltickit);
ll_buy_point = view.findViewById(R.id.ll_buy_point);
ll_empty = (LinearLayout) View.inflate(UIUtils.getContext(),R.layout.layout_empty, null);
gv_product = view.findViewById(R.id.gv_product);
bt_qualitycourse = view.findViewById(R.id.bt_qualitycourse);
bt_qualitycourse.setOnClickListener(this);
// HeaderGridView refreshableView = gv_product.getRefreshableView();
// headerView =view.findViewById(R.id.header);
// topNewsTitle = (TextView) headerView.findViewById(R.id.top_news_title1);
// top_news_viewpager = (LinearLayout) headerView.findViewById(R.id.top_news_viewpager);//头部轮播
// dots_ll = (LinearLayout) headerView.findViewById(R.id.dots_ll);//头部轮播
// top_news_viewpager.setFocusable(true);
// top_news_viewpager.setFocusableInTouchMode(true);
// top_news_viewpager.requestFocus();
cb_exchange=view.findViewById(R.id.cb_exchange);
cb_score=view.findViewById(R.id.cb_score);
cb_shelf=view.findViewById(R.id.cb_shelf);
// int width =getResources().getDisplayMetrics().widthPixels;
// // int height = CommonUtil.dip2px(mActivity, 180);
// int height = width * 320 / 640;
// if (width < 720) {
// height = width * 7 / 16 - 10;
// // height = width/2;
// LogUtil.i("width=" + width + "height=" + height);
// }
// ViewGroup.LayoutParams ivLp = top_news_viewpager
// .getLayoutParams();
// ivLp.width = width;
// ivLp.height = height;
// top_news_viewpager.setLayoutParams(ivLp);
rl_pop_list=view.findViewById(R.id.rl_pop_list);
rl_pop_listp=view.findViewById(R.id.rl_pop_listp);
ptrLv = view.findViewById(R.id.lv_item);// 下拉刷新的listview控件
ptrLvpx= view.findViewById(R.id.lv_item_px);
ptrLv.setMode(PullToRefreshBase.Mode.DISABLED);
final Drawable drawable_n = getResources().getDrawable(R.drawable.triangle_normal_big);
drawable_n.setBounds(0, 0, drawable_n.getMinimumWidth(),drawable_n.getMinimumHeight()); //此为必须写的
final Drawable drawable_s = getResources().getDrawable(R.drawable.triangle_green_theme_big);
drawable_s.setBounds(0, 0, drawable_n.getMinimumWidth(),drawable_n.getMinimumHeight()); //此为必须写的
final Drawable drawable_d = getResources().getDrawable(R.drawable.triangle_green_theme_big);
drawable_d.setBounds(0, 0, drawable_n.getMinimumWidth(),drawable_n.getMinimumHeight()); //此为必须写的
ptrLvpx.setMode(PullToRefreshBase.Mode.DISABLED);
ptrLv.getRefreshableView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
startPage = 1;
cb_shelf.setTextColor(getResources().getColor(R.color.tab_text_sel));
cb_shelf.setText(getResources().getStringArray(R.array.sx_array_item)[i-1]);
tag_type=ssxid[i-1];
Arrays.fill(sx,0);
sx[i-1]=1;
sxhospitalAdapter.notifyDataSetChanged();
cb_shelfb=true;
rl_pop_list.setVisibility(View.GONE);
cb_shelf.setCompoundDrawables(null, null, drawable_s, null);
getSortData();
}
});
pxhospitalAdapter=new HospitalAdapter(BigPointsMallActivity.this,getResources().getStringArray(R.array.px_array_item),px);
ptrLvpx.getRefreshableView().setAdapter(pxhospitalAdapter);
ptrLvpx.getRefreshableView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
startPage = 1;
cb_score.setTextColor(getResources().getColor(R.color.tab_text_sel));
cb_score.setText(getResources().getStringArray(R.array.px_array_item)[i-1]);
switch (i-1)
{
case 0:
sort="4";
break;
case 1:
sort="3";
break;
case 2:
sort="5";
break;
case 3:
sort="6";
break;
}
Arrays.fill(px,0);
px[i-1]=1;
pxhospitalAdapter.notifyDataSetChanged();
cb_scoreb=true;
rl_pop_listp.setVisibility(View.GONE);
cb_score.setCompoundDrawables(null, null, drawable_s, null);
getSortData();
}
});
gv_product.setMode(Mode.BOTH);
pd = new CustomProgressDialog(this, "请稍候");
pd.show();
// refreshableView.setNumColumns(2);
// refreshableView.addHeaderView(headerView);
initListViewTipText();
beans = new ArrayList<>();
// getHeadScrollImg();
getSortData();
cb_score.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// startPage = 1;
if(!cb_scoreb)
{
cb_scoreb=true;
rl_pop_listp.setVisibility(View.VISIBLE);
rl_pop_list.setVisibility(View.GONE);
}
else
{
cb_scoreb=false;
rl_pop_listp.setVisibility(View.GONE);
}
// cb_score.setTextColor(getResources().getColor(R.color.tab_text_sel));
// cb_shelfb=false;
// cb_shelf.setTextColor(getResources().getColor(R.color.c333333));
// cb_shelf.setCompoundDrawables(null, null, drawable_n, null);
// cb_exchangeb=false;
// cb_exchange.setTextColor(getResources().getColor(R.color.c333333));
// cb_exchange.setCompoundDrawables(null, null, drawable_n, null);
// startPage = 1;
// if(!cb_scoreb)
// {
// cb_scoreb=true;
// cb_score.setCompoundDrawables(null, null, drawable_s, null);
// sort="3";
// getData();
// }
// else
// {
// cb_score.setCompoundDrawables(null, null, drawable_d, null);
// cb_scoreb=false;
// sort="4";
// getData();
// }
}
});
cb_exchange.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
cb_exchange.setTextColor(getResources().getColor(R.color.tab_text_sel));
cb_shelfb=false;
cb_shelf.setTextColor(getResources().getColor(R.color.c333333));
cb_shelf.setCompoundDrawables(null, null, drawable_n, null);
cb_scoreb=false;
cb_score.setTextColor(getResources().getColor(R.color.c333333));
cb_score.setCompoundDrawables(null, null, drawable_n, null);
startPage = 1;
if(!cb_exchangeb)
{
cb_exchange.setCompoundDrawables(null, null, drawable_s, null);
cb_exchangeb=true;
sort="5";
getData();
}
else
{
cb_exchangeb=false;
cb_exchange.setCompoundDrawables(null, null, drawable_d, null);
sort="6";
getData();
}
}
});
cb_shelf.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// startPage = 1;
if(!cb_shelfb)
{
cb_shelfb=true;
rl_pop_list.setVisibility(View.VISIBLE);
rl_pop_listp.setVisibility(View.GONE);
;
}
else
{
cb_shelfb=false;
rl_pop_list.setVisibility(View.GONE);
}
// cb_shelf.setTextColor(getResources().getColor(R.color.tab_text_sel));
// cb_exchangeb=false;
// cb_exchange.setTextColor(getResources().getColor(R.color.c333333));
// cb_exchange.setCompoundDrawables(null, null, drawable_n, null);
// cb_scoreb=false;
// cb_score.setTextColor(getResources().getColor(R.color.c333333));
// cb_score.setCompoundDrawables(null, null, drawable_n, null);
// startPage = 1;
// if(cb_shelfb)
// {
// cb_shelf.setCompoundDrawables(null, null, drawable_d, null);
// cb_shelfb=false;
// sort="2";
// getData();
//
// }
// else
// {
// cb_shelf.setCompoundDrawables(null, null, drawable_s, null);
// cb_shelfb=true;
// sort="1";
// getData();
//
// }
}
});
gv_product.setOnItemClickListener(this);
ll_buy_point.setOnClickListener(this);
ll_integraltickit.setOnClickListener(this);
return view;
}
private void getTypeData() {
// TODO Auto-generated method stub
Map<String, String> param = new HashMap<>();
sendJsonPostParamtoNetSignMD5(Url.goodsTagList, param, 101, this);
}
private void getSortData() {
// TODO Auto-generated method stub
Map<String, String> param = new HashMap<>();
param.put("page",startPage +"");
param.put("sort",sort);
param.put("tag_type",tag_type);
param.put("name",name);
sendJsonPostParamtoNetSignMD5(Url.goodsListV2, param, 1, this);
}
private void getHeadScrollImg() {
// TODO Auto-generated method stub
Map<String, String> param = new HashMap<>();
// param.put("debug","true");
sendJsonPostParamtoNetSignMD5(Url.goodsNewsList, param, 2, this);
}
private void getData() {
// TODO Auto-generated method stub
Map<String, String> param = new HashMap<>();
param.put("page",startPage +"");
param.put("sort",sort);
sendJsonPostParamtoNetSignMD5(Url.goodsList, param, 1, this);
}
@Override
public ResultState onLoad() {
// TODO Auto-generated method stub
return ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.top_right_text:
// Intent intent = new Intent(BigPointsMallActivity.this,MyExchangeActivity.class);
// startActivity(intent);
Intent intentv = new Intent(BigPointsMallActivity.this,
BigPublicSearchActivity.class);
intentv.setType("shopping");
startActivity(intentv);
break;
case R.id.top_back_layout:
// finish();
break;
case R.id.bt_qualitycourse:
startActivity(new Intent(BigPointsMallActivity.this, QualityCourseActivity.class));
break;
case R.id.ll_integraltickit://积分券
Intent intent = new Intent(BigPointsMallActivity.this, MyExchangeActivity.class);
startActivity(intent);
// Intent intent1 = new Intent(BigPointsMallActivity.this, IntegralTicketActivity.class);
// startActivity(intent1);
break;
case R.id.ll_buy_point://购买积分
Intent intent2 = new Intent(BigPointsMallActivity.this, BuyIntegerActivty.class);
startActivity(intent2);
break;
}
}
class PointsMallAdapter extends BaseAdapter{
private final int LEFT_TYPE=0;
private final int RIGHT_TYPE=1;
private int currentType;
@Override
public int getCount() {
// TODO Auto-generated method stub
return beans!=null&beans.size()>0?beans.size():0;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return beans.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getItemViewType(int position) {
if (position%2==0) {
return LEFT_TYPE;
} else {
return RIGHT_TYPE;
}
}
@SuppressWarnings("null")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View firstItemView = null;
View othersItemView=null;
currentType= getItemViewType(position);
if (currentType== LEFT_TYPE) {
firstItemView = convertView;
PointsMallAdapter.FirstItemViewHolder firstItemViewHolder=null;
if (firstItemView==null) {
firstItemView = UIUtils.inflate(R.layout.item_gv_product_new_big);
firstItemViewHolder=new PointsMallAdapter.FirstItemViewHolder();
firstItemViewHolder.iv_product=(ImageView) firstItemView.findViewById(R.id.iv_product);
firstItemViewHolder.tv_pruduct_name=(TextView) firstItemView.findViewById(R.id.tv_pruduct_name);
firstItemViewHolder.tv_pruduct_point=(TextView) firstItemView.findViewById(R.id.tv_pruduct_point);
firstItemView.setTag(firstItemViewHolder);
} else {
firstItemViewHolder=(PointsMallAdapter.FirstItemViewHolder) firstItemView.getTag();
}
ImageLoader.getInstance().displayImage(
Url.urlHtml + beans.get(position).getImg(), firstItemViewHolder.iv_product,
ImageOptions.getImageOptions(R.drawable.default_video));
firstItemViewHolder.tv_pruduct_name.setText(beans.get(position).getName());
firstItemViewHolder.tv_pruduct_point.setText(beans.get(position).getBonuspoints()+"积分");
convertView=firstItemView;
}else{
othersItemView = convertView;
PointsMallAdapter.OthersViewHolder othersViewHolder=null;
if (othersItemView==null) {
othersItemView = UIUtils.inflate(R.layout.item_gv_product1_big);
othersViewHolder=new PointsMallAdapter.OthersViewHolder();
othersViewHolder.iv_product1=(ImageView) othersItemView.findViewById(R.id.iv_product);
othersViewHolder.tv_pruduct_name1=(TextView) othersItemView.findViewById(R.id.tv_pruduct_name);
othersViewHolder.tv_pruduct_point1=(TextView) othersItemView.findViewById(R.id.tv_pruduct_point);
othersItemView.setTag(othersViewHolder);
} else {
othersViewHolder=(PointsMallAdapter.OthersViewHolder) othersItemView.getTag();
}
/**
*
* */
ImageLoader.getInstance().displayImage(
Url.urlHtml + beans.get(position).getImg(), othersViewHolder.iv_product1,
ImageOptions.getImageOptions(R.drawable.default_video));
othersViewHolder.tv_pruduct_name1.setText(beans.get(position).getName());
othersViewHolder.tv_pruduct_point1.setText(beans.get(position).getBonuspoints()+"积分");
convertView=othersItemView;
}
return convertView;
}
//第一个Item的ViewHolder
private class FirstItemViewHolder{
ImageView iv_product;
TextView tv_pruduct_name,tv_pruduct_point;
}
//除第一个Item以外其余Item的ViewHolder
private class OthersViewHolder{
ImageView iv_product1;
TextView tv_pruduct_name1,tv_pruduct_point1;
}
}
/**
* 初始化列表刷新时的提示文本
*/
private void initListViewTipText() {
gv_product.setOnRefreshListener(new OnRefreshListener2() {
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
// TODO Auto-generated method stub
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
setUpdateTime(refreshView);
refreshItems();
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
}
@Override
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
// TODO Auto-generated method stub
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
setUpdateTime(refreshView);
geneItems();
} else {
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
}
}
});
// TODO Auto-generated method stub
// 设置上拉刷新文本
ILoadingLayout startLabels = gv_product
.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新...");
startLabels.setReleaseLabel("放开立即刷新...");
startLabels.setRefreshingLabel("正在刷新...");
// 设置下拉刷新文本
ILoadingLayout endLabels = gv_product.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉加载更多...");
endLabels.setReleaseLabel("放开加载更多...");
endLabels.setRefreshingLabel("正在加载...");
}
private void refreshItems() {
// TODO Auto-generated method stub
startPage = 1;
// getData();
getSortData();
}
private void geneItems() {
// TODO Auto-generated method stub
startPage++;
getSortData();
// getData();
}
// 设置更新时间
protected void setUpdateTime(PullToRefreshBase refreshView) {
// TODO Auto-generated method stub
String label = DateUtils.formatDateTime(BigPointsMallActivity.this,
System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
| DateUtils.FORMAT_SHOW_DATE
| DateUtils.FORMAT_ABBREV_ALL);
refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
Intent intent = new Intent(BigPointsMallActivity.this,ProductDetailActivity.class);
intent.putExtra("uuid", beans.get(position).getUuid());
intent.putExtra("type", beans.get(position).getType());
intent.putExtra("name", beans.get(position).getName());
intent.putExtra("upan",beans.get(position).getUpan());
startActivity(intent);
}
@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("gdxzsort","resultJson = " + resultJson);
switch (resultCode) {
case 101:
try {
JSONObject jsonObject=new JSONObject(resultJson);
if("200".equals(jsonObject.optString("code")))
{
if(!jsonObject.isNull("data"))
{
JSONArray jsonArray= jsonObject.optJSONArray("data");
if(jsonArray!=null)
{
ssx=new String[jsonArray.length()];
ssxid=new String[jsonArray.length()];
sx=new int[jsonArray.length()];
for(int i=0;i<jsonArray.length();i++)
{
ssx[i]=jsonArray.getJSONObject(i).optString("name");
ssxid[i]=jsonArray.getJSONObject(i).optString("id");
}
}
sxhospitalAdapter=new HospitalAdapter(BigPointsMallActivity.this,ssx,sx);
ptrLv.getRefreshableView().setAdapter(sxhospitalAdapter);
}
}
else
{
ToastUtil.showMessage("服务器连接异常");
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
case 1:
Gson gson = new Gson();
fromJsonBean = gson.fromJson(resultJson, GoodsListBean.class);
if (TextUtils.isEmpty(resultJson)||"0".equals(fromJsonBean.getCode())) {
pd.dismiss();
ToastUtil.showMessage("服务器连接异常");
return;
}
if (startPage==1) {
if (beans.size() != 0) {
beans.clear();
startPage = 1;
}
}else{
if (fromJsonBean.getData().getList().size() == 0) {
ToastUtil.showMessage("没有更多数据了");
gv_product.onRefreshComplete();
}
}
beans.addAll(fromJsonBean.getData().getList());
handler.sendEmptyMessage(GET_DATA_SUCCESS);
break;
case 2:
Gson gson1 = new Gson();
fromJsonBean1 = gson1.fromJson(resultJson, GoodsNewsListBean.class);
if (fromJsonBean1!=null&&"200".equals(fromJsonBean1.getCode())) {
// 轮播图的点
if (fromJsonBean1.getData().size()>0){
// initDot(fromJsonBean1.getData().size());
mViewPager = new RollViewPager(BigPointsMallActivity.this, dotList,
R.drawable.dot_focus4, R.drawable.dot_normal,
// 轮播图点击事件
new OnPagerClickCallback() {
@Override
public void onPagerClick(int position) {
Intent intentt1 = new Intent(BigPointsMallActivity.this, NewsDetailActivity.class);
intentt1.putExtra("url", Url.urlHtml+fromJsonBean1.getData().get(position).getPath());
intentt1.putExtra("title", "积分商城");
intentt1.putExtra("newsTitle", fromJsonBean1.getData().get(position).getTitle());
intentt1.putExtra("summary", "爱学习爱分享,领积分兑奖品,今天你兑了吗?");
intentt1.putExtra("flag", 1);
startActivity(intentt1);
}
});
mViewPager.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
// top图片地址
ArrayList<String> list = new ArrayList<>();
titleList = new ArrayList<String>();
for (int i = 0; i < fromJsonBean1.getData().size(); i++) {
list.add(Url.urlHtml+fromJsonBean1.getData().get(i).getHeadImg());
titleList.add(fromJsonBean1.getData().get(i).getTitle());
}
mViewPager.setUriList(list);
// 开始滚动
mViewPager.startRoll();
// top标题
// mViewPager.setTitle(topNewsTitle, titleList);
// // 加载到布局
// top_news_viewpager.removeAllViews();
// top_news_viewpager.addView(mViewPager);
}else {
}
}else {
ToastUtil.showMessage("请求失败");
}
break;
}
}
// /**
// * 实例化轮播图点 initDot
// *
// * @param size
// * void
// */
// private void initDot(int size) {
// dotList = new ArrayList<View>();
// dots_ll.removeAllViews();
// for (int i = 0; i < size; i++) {
// LayoutParams params = new LayoutParams(
// CommonUtil.dip2px(this, 6), CommonUtil.dip2px(
// this, 6));
// params.setMargins(5, 0, 5, 0);
// View m = new View(this);
// if (i == 0) {
// m.setBackgroundResource(R.drawable.dot_focus4);
// } else {
// m.setBackgroundResource(R.drawable.dot_normal);
// }
// m.setLayoutParams(params);
// dots_ll.addView(m);
// dotList.add(m);
// }
// }
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
AppManager.getAppManager().finishAllActivity1();
}
}
@@ -0,0 +1,622 @@
package cn.shangyu.gdxzExpert.big.activity;
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.gyf.immersionbar.ImmersionBar;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.BookshelfListActivity;
import cn.shangyu.gdxzExpert.activity.CourseActivity;
import cn.shangyu.gdxzExpert.activity.SearchCourseActivity;
import cn.shangyu.gdxzExpert.activity.SearchNewsActivity;
import cn.shangyu.gdxzExpert.activity.SearchPatientActivity;
import cn.shangyu.gdxzExpert.activity.SearchScienceActivity;
import cn.shangyu.gdxzExpert.activity.SearchVideoActivity;
import cn.shangyu.gdxzExpert.report.CommUtil;
import cn.shangyu.gdxzExpert.report.ReportService;
import cn.shangyu.gdxzExpert.report.reportBean;
import cn.shangyu.gdxzExpert.utils.Constant;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
public class BigPublicSearchActivity extends AppCompatActivity implements OnClickListener {
private GridView gv_search;
// private int[] mDrawable;
// private String[] mName;
private int[] bigmDrawable;
private String[] bigmName;
private int choicePos = -1;// 当前选中位置
private PublicSearchAdapter mPublicSearchAdapter;
private ImageView iv_back;
private TextView tv_public_ser;
private EditText tv_top_search;
private String type;// 根据类型图标变亮
private String searchStr;
// @Override
// public View onCreateSuccessedView() {
// // TODO Auto-generated method stub
// View view = View.inflate(this, R.layout.activity_public_search, null);
//
// return view;
// }
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_public_search_big);
Toolbar mToolbar=findViewById(R.id.toolbar);
mToolbar.getBackground().setAlpha(255);
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
gv_search = (GridView) findViewById(R.id.gv_search);
iv_back = (ImageView) findViewById(R.id.top_back);
tv_public_ser = (TextView) findViewById(R.id.tv_public_ser);
tv_top_search = (EditText) findViewById(R.id.tv_top_search);
// if(SharePrefUtil.getBoolean(this, Constant.ShowMagazine,true))
// {
// init();
// }
// else
// {
inithide();
// }
mPublicSearchAdapter = new PublicSearchAdapter(this, bigmDrawable, bigmName);
gv_search.setAdapter(mPublicSearchAdapter);
initClick();
}
private void initClick() {
gv_search.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
choicePos = position;
// if(SharePrefUtil.getBoolean(BigPublicSearchActivity.this, Constant.ShowMagazine,true))
// {
// if (choicePos == 2) {
// Intent intentwf = new Intent(BigPublicSearchActivity.this,
// BigMyLibraryActivity.class);
// intentwf.putExtra("search", "searchStr");
// startActivity(intentwf);
// }
// if (choicePos == 6) {
// Intent intent = new Intent(BigPublicSearchActivity.this,
// CourseActivity.class);
// startActivity(intent);
// }
// }
// else
// {
if (choicePos == 5) {
Intent intent = new Intent(BigPublicSearchActivity.this,
CourseActivity.class);
startActivity(intent);
}
// }
mPublicSearchAdapter.notifyDataSetChanged();
}
});
iv_back.setOnClickListener(this);
tv_public_ser.setOnClickListener(this);
tv_top_search.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
// TODO Auto-generated method stub
if (actionId == EditorInfo.IME_ACTION_SEND
|| (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
// do something;
// if(SharePrefUtil.getBoolean(BigPublicSearchActivity.this, Constant.ShowMagazine,true))
// {
// search();
// }
// else
// {
searchhide();
// }
return false;
}
return false;
}
});
}
private void search() {
View view = getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
// TODO Auto-generated method stub
// "视频", "资讯", "科普", "指南", "患者", "万方医学"
if (choicePos != 6 && choicePos != 2) {
searchStr = tv_top_search.getText().toString().trim();
if (StringUtil.isEmpty(searchStr)) {
ToastUtil.showMessage("请输入搜索内容");
return;
}
}
switch (choicePos) {
case 0:
Intent intentpVideo = new Intent(BigPublicSearchActivity.this,
SearchVideoActivity.class);
intentpVideo.setType("patient");
intentpVideo.putExtra("search", searchStr);
startActivity(intentpVideo);
break;
case 7:
Intent intentVideo = new Intent(BigPublicSearchActivity.this,
SearchVideoActivity.class);
intentVideo.setType("doctor");
intentVideo.putExtra("search", searchStr);
startActivity(intentVideo);
break;
case 4:
Intent intentnews = new Intent(BigPublicSearchActivity.this,
SearchNewsActivity.class);
intentnews.putExtra("search", searchStr);
startActivity(intentnews);
break;
case 1:
Intent intentScience = new Intent(BigPublicSearchActivity.this,
SearchScienceActivity.class);
intentScience.putExtra("search", searchStr);
startActivity(intentScience);
break;
case 5:
Intent intentLibrary = new Intent(BigPublicSearchActivity.this,
BookshelfListActivity.class);
intentLibrary.putExtra("search", searchStr);
intentLibrary.putExtra("type", "1");
intentLibrary.putExtra("title", "诊疗指南");
startActivity(intentLibrary);
break;
case 6:
Intent intentjp = new Intent(BigPublicSearchActivity.this,
CourseActivity.class);
startActivity(intentjp);
break;
case 2:
Intent intentwf = new Intent(BigPublicSearchActivity.this,
BigMyLibraryActivity.class);
intentwf.putExtra("search", "searchStr");
startActivity(intentwf);
break;
case 8:
Intent intentco = new Intent(BigPublicSearchActivity.this,
SearchCourseActivity.class);
intentco.putExtra("search", searchStr);
startActivity(intentco);
// ToastUtil.showMessage("开通在即,敬请期待");
break;
case 3:
Intent intentPatient = new Intent(BigPublicSearchActivity.this,
SearchPatientActivity.class);
intentPatient.putExtra("search", searchStr);
startActivity(intentPatient);
break;
case 9:
Intent intentshop = new Intent(BigPublicSearchActivity.this,
BigPointsMallActivity.class);
intentshop.putExtra("name", searchStr);
intentshop.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intentshop);
// case 9:
// Intent intentHospital = new Intent(BigPublicSearchActivity.this,
// HospitalSearchActivity.class);
// intentHospital.putExtra("title", searchStr);
// intentHospital.setType("Hospital");
// startActivity(intentHospital);
// break;
// case 11:
// Intent intentDoctor = new Intent(BigPublicSearchActivity.this,
// GanDanDoctorActivity.class);
// intentDoctor.putExtra("title", searchStr);
// intentDoctor.setType("Doctor");
// startActivity(intentDoctor);
//// ToastUtil.showMessage("开通在即,敬请期待");
// break;
// case 10:
// Intent intentDepart = new Intent(BigPublicSearchActivity.this,
// HospitalSearchActivity.class);
// intentDepart.putExtra("title", searchStr);
// intentDepart.setType("Depart");
// startActivity(intentDepart);
// break;
default:
break;
}
}
private void needreport(String belong)
{
List<reportBean> reportBeans=new ArrayList<>();
reportBean rbens=new reportBean();
rbens.setUser_id(Constant.Report_userId);
rbens.setApp_key(Constant.Repotr_app_key);
rbens.setOs(CommUtil.Repotr_os);
rbens.setDevice(CommUtil.getDeviceName());
rbens.setDevice_type(CommUtil.getDeviceType());
rbens.setApp_version(CommUtil.getVersionName());
rbens.setNetwork_carrier(CommUtil.getCarrierName);
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(UIUtils.getContext()));
rbens.setEvent_nickname("search");
rbens.setBelong(belong);
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
reportBeans.add(rbens);
startReport(reportBeans);
}
private void searchhide() {
View view = getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
// TODO Auto-generated method stub
// "视频", "资讯", "科普", "指南", "患者", "万方医学"
if (choicePos != 5 ) {
searchStr = tv_top_search.getText().toString().trim();
if (StringUtil.isEmpty(searchStr)) {
ToastUtil.showMessage("请输入搜索内容");
return;
}
}
switch (choicePos) {
case 0:
Intent intentpVideo = new Intent(BigPublicSearchActivity.this,
SearchVideoActivity.class);
intentpVideo.setType("patient");
intentpVideo.putExtra("search", searchStr);
startActivity(intentpVideo);
needreport("患教视频");
break;
case 6:
Intent intentVideo = new Intent(BigPublicSearchActivity.this,
SearchVideoActivity.class);
intentVideo.setType("doctor");
intentVideo.putExtra("search", searchStr);
startActivity(intentVideo);
needreport("会议视频");
break;
case 3:
Intent intentnews = new Intent(BigPublicSearchActivity.this,
SearchNewsActivity.class);
intentnews.putExtra("search", searchStr);
startActivity(intentnews);
needreport("新闻");
break;
case 1:
Intent intentScience = new Intent(BigPublicSearchActivity.this,
SearchScienceActivity.class);
intentScience.putExtra("search", searchStr);
startActivity(intentScience);
needreport("科普");
break;
case 4:
Intent intentLibrary = new Intent(BigPublicSearchActivity.this,
BookshelfListActivity.class);
intentLibrary.putExtra("search", searchStr);
intentLibrary.putExtra("type", "1");
intentLibrary.putExtra("title", "诊疗指南");
startActivity(intentLibrary);
needreport("指南");
break;
case 5:
Intent intentjp = new Intent(BigPublicSearchActivity.this,
CourseActivity.class);
startActivity(intentjp);
break;
// case 2:
// Intent intentwf = new Intent(BigPublicSearchActivity.this,
// BigMyLibraryActivity.class);
// intentwf.putExtra("search", "searchStr");
// startActivity(intentwf);
// break;
case 7:
Intent intentco = new Intent(BigPublicSearchActivity.this,
SearchCourseActivity.class);
intentco.putExtra("search", searchStr);
startActivity(intentco);
needreport("肝胆课件");
// ToastUtil.showMessage("开通在即,敬请期待");
break;
case 2:
Intent intentPatient = new Intent(BigPublicSearchActivity.this,
SearchPatientActivity.class);
intentPatient.putExtra("search", searchStr);
startActivity(intentPatient);
needreport("患者");
break;
case 8:
Intent intentshop = new Intent(BigPublicSearchActivity.this,
BigPointsMallActivity.class);
intentshop.putExtra("name", searchStr);
intentshop.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intentshop);
needreport("积分商城");
break;
// case 9:
// Intent intentHospital = new Intent(BigPublicSearchActivity.this,
// HospitalSearchActivity.class);
// intentHospital.putExtra("title", searchStr);
// intentHospital.setType("Hospital");
// startActivity(intentHospital);
// break;
// case 11:
// Intent intentDoctor = new Intent(BigPublicSearchActivity.this,
// GanDanDoctorActivity.class);
// intentDoctor.putExtra("title", searchStr);
// intentDoctor.setType("Doctor");
// startActivity(intentDoctor);
//// ToastUtil.showMessage("开通在即,敬请期待");
// break;
// case 10:
// Intent intentDepart = new Intent(BigPublicSearchActivity.this,
// HospitalSearchActivity.class);
// intentDepart.putExtra("title", searchStr);
// intentDepart.setType("Depart");
// startActivity(intentDepart);
// break;
default:
break;
}
}
private void init() {
type = getIntent().getType();
if (type.equals("news")) {
choicePos = 4;
}
if (type.equals("science")) {
choicePos = 1;
}
if (type.equals("patientVideo")) {
choicePos = 0;
}
if (type.equals("drug")) {
choicePos = 5;
}
if (type.equals("video")) {
choicePos = 7;
}
if (type.equals("medicine")) {
choicePos = 6;
}
if (type.equals("course")) {
choicePos = 8;
}
if (type.equals("shopping")) {
choicePos = 9;
}
// if (type.equals("hospital")) {
// choicePos = 9;
// }
// if (type.equals("doctor")) {
// choicePos = 11;
// }
// if (type.equals("department")) {
// choicePos = 10;
// }
// mDrawable = new int[] { R.drawable.item_video,
// R.drawable.item_patient_video, R.drawable.item_news,
// R.drawable.item_science, R.drawable.item_drug,
// R.drawable.item_jingpin, R.drawable.item_wfa,
// R.drawable.item_course, R.drawable.item_patient,
// R.drawable.item_hospital, R.drawable.item_department,
// R.drawable.item_doctor };// "药品",R.drawable.item_medicine,
// mName = new String[] { "会议视频", "患教视频", "新闻", "科普", "指南","精品课", "万方医学",
// "肝胆课件", "患者", "名院", "名科", "名医" };//
bigmDrawable = new int[] {
R.drawable.item_patient_video_big,
R.drawable.item_science_big,R.drawable.item_wfa_big,
R.drawable.item_patient_big,R.drawable.item_news_big,
R.drawable.item_drug_big,
R.drawable.item_jingpin_big,R.drawable.item_video_big,
R.drawable.item_course_big,R.drawable.item_mall_big
};// "药品",R.drawable.item_medicine,
bigmName = new String[] { "患教视频", "科普文章", "万方医学", "随访患者","肝胆新闻",
"指南共识","精品课","肝胆视频", "肝胆课件","积分商城"};//
}
private void inithide() {
type = getIntent().getType();
if (type.equals("news")) {
choicePos = 3;
}
if (type.equals("science")) {
choicePos = 1;
}
if (type.equals("patientVideo")) {
choicePos = 0;
}
if (type.equals("drug")) {
choicePos = 4;
}
if (type.equals("video")) {
choicePos = 6;
}
if (type.equals("medicine")) {
choicePos = 5;
}
if (type.equals("course")) {
choicePos = 7;
}
if (type.equals("shopping")) {
choicePos = 8;
}
// if (type.equals("hospital")) {
// choicePos = 9;
// }
// if (type.equals("doctor")) {
// choicePos = 11;
// }
// if (type.equals("department")) {
// choicePos = 10;
// }
// mDrawable = new int[] { R.drawable.item_video,
// R.drawable.item_patient_video, R.drawable.item_news,
// R.drawable.item_science, R.drawable.item_drug,
// R.drawable.item_jingpin, R.drawable.item_wfa,
// R.drawable.item_course, R.drawable.item_patient,
// R.drawable.item_hospital, R.drawable.item_department,
// R.drawable.item_doctor };// "药品",R.drawable.item_medicine,
// mName = new String[] { "会议视频", "患教视频", "新闻", "科普", "指南","精品课", "万方医学",
// "肝胆课件", "患者", "名院", "名科", "名医" };//
bigmDrawable = new int[] {
R.drawable.item_patient_video_big,
R.drawable.item_science_big,
R.drawable.item_patient_big,R.drawable.item_news_big,
R.drawable.item_drug_big,
R.drawable.item_jingpin_big,R.drawable.item_video_big,
R.drawable.item_course_big,R.drawable.item_mall_big
};// "药品",R.drawable.item_medicine,
bigmName = new String[] { "患教视频", "科普文章", "随访患者","肝胆新闻",
"指南共识","精品课","肝胆视频", "肝胆课件","积分商城" };//
}
// 适配器
public class PublicSearchAdapter extends BaseAdapter {
private Context mContext;
private int[] mDrawable;
private String[] mName;
public PublicSearchAdapter(Context mContext, int[] mDrawable,
String[] mName) {
this.mContext = mContext;
this.mDrawable = mDrawable;
this.mName = mName;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mDrawable.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mDrawable[position];
}
@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_public_serach_big);
vh = new ViewHolder();
vh.iv = (ImageView) convertView.findViewById(R.id.iv_ser_item);
vh.name = (TextView) convertView.findViewById(R.id.tv_ser_name);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
// vh.iv.setBackgroundResource(R.drawable.item_science);
vh.iv.setBackgroundResource(mDrawable[position]);
vh.name.setText(mName[position]);
if (choicePos == position) {
vh.iv.setEnabled(true);
} else {
vh.iv.setEnabled(false);
}
return convertView;
}
class ViewHolder {
ImageView iv;
TextView name;
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.top_back:
View view = getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
this.finish();
break;
case R.id.tv_public_ser:
// if(SharePrefUtil.getBoolean(BigPublicSearchActivity.this, Constant.ShowMagazine,true))
// {
// search();
// }
// else
// {
searchhide();
// }
break;
default:
break;
}
}
public void startReport(List<reportBean> list)
{
Intent intent = new Intent(BigPublicSearchActivity.this, ReportService.class);
intent.putExtra("report_list", (Serializable) list);
intent.putExtra("report_token", Constant.Repotr_token);
startService(intent);
}
}
@@ -0,0 +1,80 @@
package cn.shangyu.gdxzExpert.big.activity;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.TextView;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.ToolsActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.big.adapter.BigToolAdapter;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
public class BigToolActivity extends BaseActivity implements AdapterView.OnItemClickListener {
@Override
public void setTitle() {
top_title.setTextSize(23);
top_title.setText("常用工具");
}
private PullToRefreshListView ptrLv;
@Override
public View onCreateSuccessedView() {
View view = UIUtils.inflate(R.layout.fragment_library_list_big);
ptrLv = (PullToRefreshListView) view.findViewById(R.id.lv_item_library);// 下拉刷新的listview控件
// 设置只有下拉刷新
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
// 得到实际的ListView 设置点击
ptrLv.getRefreshableView().setOnItemClickListener(this);
initData();
return view;
}
/**
* 实例化数据
*/
private void initData() {
ptrLv.setMode(PullToRefreshBase.Mode.DISABLED);
String[] strTools = getResources().getStringArray(R.array.tools_array_item);
ptrLv.getRefreshableView().setAdapter(new BigToolAdapter(this, R.layout.bookself_item_big, R.id.item_name,strTools));
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
int position = arg2 - ptrLv.getRefreshableView().getHeaderViewsCount();
// String title = ((TextView)arg1).getText().toString();
String title =((TextView)(arg1.findViewById(R.id.item_name))).getText().toString();
Intent intent = new Intent(this, ToolsActivity.class);
if (position==0) {
intent.putExtra("position", position);
}else if (position==1) {
position=22;
intent.putExtra("position", position);
}else if (position == 2){
position=23;
intent.putExtra("position", position);
}else{
intent.putExtra("position", position-2);//之前每加一行多减去一
}
intent.putExtra("title", title);
startActivity(intent);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,310 @@
package cn.shangyu.gdxzExpert.big.activity;
import android.content.Intent;
import android.graphics.Color;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.GroupManageActivity;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.PatientCardBean;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.netease.uinfo.UserInfoHelper;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.Url;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
public class SetInformActivity extends BaseActivity implements OnCallBackFromNet {
private String patientUuid,nickname_new;
@Override
public void setTitle() {
top_title.setText("设置备注和分组");
if(CommonUtil.BigModule())
{
top_title.setTextSize(23);
}
}
EditText tv_beizhu,tv_miaosu;
TextView tv_fenzu,tv_num,tv_newnick,write_name;
TextView r_tijiao;
RelativeLayout r_new_nickname;
private int group_type = 0;
Boolean firstget=false,firstgetnote=false;
@Override
public View onCreateSuccessedView() {
View view;
if(CommonUtil.BigModule())
{
view = View.inflate(ct, R.layout.activity_set_inform, null);
}
else
{
view = View.inflate(ct, R.layout.activity_set_inform_nom, null);
}
r_new_nickname=view.findViewById(R.id.r_new_nickname);
write_name=view.findViewById(R.id.write_name);
write_name.setOnClickListener(this);
tv_newnick=view.findViewById(R.id.tv_newnick);
tv_miaosu=view.findViewById(R.id.tv_miaosu);
tv_beizhu=view.findViewById(R.id.tv_beizhu);
tv_fenzu=view.findViewById(R.id.tv_fenzu);
tv_num=view.findViewById(R.id.tv_num);
r_tijiao=view.findViewById(R.id.r_tijiao);
r_tijiao.setEnabled(false);
tv_beizhu.addTextChangedListener(new TextWatcher() {
//记录输入的文字
private CharSequence wordNum;
private int selectionStart;
private int selectionEnd;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//输入框输入之前监听
}
//输入框实时监听
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//实时记录输入的文字
wordNum = s;
}
//输入完成之后的监听
@Override
public void afterTextChanged(Editable s) {
if(!firstget)
{
//这里的200 是你在XML文件里面设置的maxLength
if(s.toString().trim().length()==0&&tv_miaosu.getText().toString().trim().length()==0)
{
r_tijiao.setBackgroundColor(Color.parseColor("#CCCCCC"));
r_tijiao.setEnabled(false);
}
else
{
r_tijiao.setBackgroundColor(Color.parseColor("#3cc7c0"));
r_tijiao.setEnabled(true);
}
}
else
{
firstget=false;
}
tv_beizhu.setSelection(s.length());
}
});
tv_miaosu.addTextChangedListener(new TextWatcher() {
//记录输入的文字
private CharSequence wordNum;
private int selectionStart;
private int selectionEnd;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//输入框输入之前监听
}
//输入框实时监听
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//实时记录输入的文字
wordNum = s;
}
//输入完成之后的监听
@Override
public void afterTextChanged(Editable s) {
if(!firstgetnote)
{
if(s.toString().trim().length()==0&&tv_beizhu.getText().toString().trim().length()==0)
{
r_tijiao.setBackgroundColor(Color.parseColor("#CCCCCC"));
r_tijiao.setEnabled(false);
}
else
{
r_tijiao.setBackgroundColor(Color.parseColor("#3cc7c0"));
r_tijiao.setEnabled(true);
}
}
else
{
firstgetnote=false;
}
//TextView显示剩余字数
//这里的200 是你在XML文件里面设置的maxLength
tv_num.setText(s.length() + "/100");
selectionStart = tv_miaosu.getSelectionStart();
selectionEnd = tv_miaosu.getSelectionEnd();
if (wordNum.length() > 100) {
//删除多余输入的字(不会显示出来)
s.delete(selectionStart - 1, selectionEnd);
int tempSelection = selectionEnd;
tv_num.setText(s.length()+"/100");
//设置光标在最后
tv_miaosu.setSelection(tempSelection);
}
}
});
r_tijiao.setOnClickListener(this::processClick);
tv_fenzu.setOnClickListener(this::processClick);
if(!StringUtil.isEmpty(getIntent().getStringExtra("miaosu")))
{
firstgetnote=true;
tv_miaosu.setText(getIntent().getStringExtra("miaosu"));
}
tv_fenzu.setText(getIntent().getStringExtra("fenzu"));
if(!StringUtil.isEmpty(getIntent().getStringExtra("nickname")))
{
firstget=true;
tv_beizhu.setText(getIntent().getStringExtra("nickname"));
}
else if(!StringUtil.isEmpty(getIntent().getStringExtra("nickname_new")))
{
nickname_new=getIntent().getStringExtra("nickname_new");
r_new_nickname.setVisibility(View.VISIBLE);
tv_newnick.setText("申请消息为:我是"+nickname_new);
}
patientUuid = getIntent().getStringExtra("patientUuid");
getDetail();
return view;
}
@Override
protected void onResume() {
super.onResume();
getDetail();
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
private void getDetail() {
Map<String,String> map = new HashMap<>();
map.put("patient_uuid",patientUuid);
sendJsonPostParamtoNetSignMD5(Url.patientCard,map,200,this);
}
String updatenickname;
private void updateInfo() {
updatenickname=tv_beizhu.getText().toString().trim();
Map<String,String> map = new HashMap<>();
map.put("patient_uuid",patientUuid);
map.put("nickname",tv_beizhu.getText().toString().trim());
map.put("note",tv_miaosu.getText().toString().trim());
sendJsonPostParamtoNetSignMD5(Url.updateNicknameNote,map,201,this);
}
@Override
protected void processClick(View v) {
switch (v.getId())
{
case R.id.write_name:
tv_beizhu.setText(nickname_new);
break;
case R.id.r_tijiao:
if(StringUtil.isEmpty(tv_beizhu.getText().toString().trim()))
{
ToastUtil.showMessage("备注不能为空");
return;
}
updateInfo();
needreportOb("set_note_group",patientUuid);
break;
case R.id.tv_fenzu:
hideSoftKeyboard();
if (group_type==0){
Intent intent1 = new Intent(SetInformActivity.this, GroupManageActivity.class);
intent1.putExtra("patientUuid",patientUuid);
if ("通过分组给患者分类".equals(tv_fenzu.getText().toString())){
intent1.putExtra("fenzu","");
}else {
intent1.putExtra("fenzu",tv_fenzu.getText().toString());
}
startActivity(intent1);
}else {
ToastUtil.showMessage("该患者暂不支持分组编辑");
}
break;
}
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode){
case 201:
try {
JSONObject jsonObject=new JSONObject(resultJson);
if("200".equals(jsonObject.getString("code")))
{
UserInfoHelper.updatePatientInfo( patientUuid.toLowerCase(), SessionTypeEnum.P2P,updatenickname);
Intent intent=new Intent();
intent.putExtra("NickName",tv_beizhu.getText().toString().trim());
intent.putExtra("NoteContent",tv_miaosu.getText().toString().trim());
setResult(302,intent);
hideSoftKeyboard();
finish();
}
ToastUtil.showToast(jsonObject.optString("message"));
} catch (JSONException e) {
e.printStackTrace();
}
break;
case 200:
PatientCardBean bean = GsonTools.fromGsonToBean(resultJson,
PatientCardBean.class);
PatientCardBean.GroupBean group = bean.getGroup();
if (group!=null){
group_type = group.getGroup_type();
if (!StringUtil.isEmpty(bean.getGroup().getName())){
tv_fenzu.setText(bean.getGroup().getName().replace(",",","));
// tv_fenzu.setTextColor(getResources().getColor(R.color.c666666));
}
else
{
tv_fenzu.setText("通过分组给患者分类");
// tv_fenzu.setTextColor(getResources().getColor(R.color.c999999));
}
}
break;
}
}
}
@@ -0,0 +1,61 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.gongwen.marqueen.MarqueeFactory;
import java.util.Date;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.bean.HomeBean;
import static cn.shangyu.gdxzExpert.ecdemo.common.utils.CommomUtil.simpleDateFormatbig;
import static com.netease.nim.uikit.common.util.sys.TimeUtil.isSameDay;
public class BigComplexViewMF extends MarqueeFactory<RelativeLayout, HomeBean.MettingBean> {
private LayoutInflater inflater;
public BigComplexViewMF(Context mContext) {
super(mContext);
inflater = LayoutInflater.from(mContext);
}
@Override
public RelativeLayout generateMarqueeItemView(HomeBean.MettingBean data) {
RelativeLayout mView = (RelativeLayout) inflater.inflate(R.layout.complex_view_big, null);
((TextView) mView.findViewById(R.id.tv_title)).setText(data.getTitle());
switch (data.getState()+"")
{
case "1":
if(isSameDay(new Date(Long.valueOf(data.getBegin_date_timestamp())),
new Date(System.currentTimeMillis())))
{
Glide.with(mContext).load(R.drawable.big_b_now_big).into((ImageView) mView.findViewById(R.id.im_s));
((TextView) mView.findViewById(R.id.tv_time)).setText("开播时间:"+simpleDateFormatbig.format(new Date(Long.valueOf(data.getBegin_date_timestamp()))));
}
else
{
Glide.with(mContext).load(R.drawable.big_b_not).into((ImageView) mView.findViewById(R.id.im_s));
((TextView) mView.findViewById(R.id.tv_time)).setText("开播时间:"+simpleDateFormatbig.format(new Date(Long.valueOf(data.getBegin_date_timestamp()))));
}
break;
case "2":
((TextView) mView.findViewById(R.id.tv_time)).setText("开播时间:"+simpleDateFormatbig.format(new Date(Long.valueOf(data.getBegin_date_timestamp()))));
Glide.with(mContext).load(R.drawable.big_b_now).into((ImageView) mView.findViewById(R.id.im_s));
break;
default:
Glide.with(mContext).load(R.drawable.big_b_not).into((ImageView) mView.findViewById(R.id.im_s));
((TextView) mView.findViewById(R.id.tv_time)).setText("开播时间:"+simpleDateFormatbig.format(new Date(Long.valueOf(data.getBegin_date_timestamp()))));
break;
}
return mView;
}
}
@@ -0,0 +1,118 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
import cn.forward.androids.views.ShapeImageView;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.adapter.OnRecyclerViewItemClickListener;
import cn.shangyu.gdxzExpert.bean.HomeBean;
import cn.shangyu.gdxzExpert.utils.ImageOptions;
public class BigHuiAdapter extends RecyclerView.Adapter<BigHuiAdapter.ViewHolder> {
private Context context;
private List<HomeBean.VideoBean> datas;
public BigHuiAdapter(Context context, List<HomeBean.VideoBean> datas) {
this.context=context;
this.datas=datas;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.big_hui_item,
parent, false);
ViewHolder viewHolder = new ViewHolder(view);
viewHolder.im_c = view.findViewById(R.id.im_c);
viewHolder.tv_n=view.findViewById(R.id.tv_n);
// viewHolder.tv_update=view.findViewById(R.id.tv_update);
// viewHolder.l_c=view.findViewById(R.id.l_c);
// LinearLayout.LayoutParams params = new LinearLayout.LayoutParams((int) ((context.getResources().getDisplayMetrics().widthPixels - CommonUtil.dip2px(context, 5)) / 4.5f),
// ViewGroup.LayoutParams.MATCH_PARENT);平分屏幕宽度,显示4个半
// LinearLayout.LayoutParams params = new LinearLayout.LayoutParams((int) ((context.getResources().getDisplayMetrics().widthPixels- CommonUtil.dip2px(context, 10) ) / 1.8f),
// ViewGroup.LayoutParams.MATCH_PARENT);
// viewHolder.l_c.setLayoutParams(params);
// viewHolder.l_c.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// if (mOnItemClickListener != null) {
// mOnItemClickListener.onItemClick(viewHolder.itemView, viewHolder.getAdapterPosition());
// }
// }
// });
viewHolder.im_c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(viewHolder.itemView, viewHolder.getAdapterPosition());
}
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
// Glide.with(context).asBitmap().load(datas.get(position).getIndex_img())
// .into(holder.im_c);
ImageLoader.getInstance().displayImage(
datas.get(position).getImgpath(),
holder.im_c,
ImageOptions.getImageOptions(R.drawable.home_scroll_default));
holder.tv_n.setText(datas.get(position).getName());
// if(datas.get(position).getUpload_num().equals(datas.get(position).getVideo_num()))
// {
// holder.tv_update.setText("已完结");
// }
// else
// {
// holder.tv_update.setText("已更新"+datas.get(position).getUpload_num()+"课时");
// }
}
@Override
public int getItemCount() {
return datas.size();
}
public class ViewHolder extends RecyclerView.ViewHolder
{
public ViewHolder(@NonNull View itemView) {
super(itemView);
}
ShapeImageView im_c;
TextView tv_n;
// ,tv_update;
// LinearLayout l_c;
}
private OnRecyclerViewItemClickListener mOnItemClickListener = null;
public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) {
this.mOnItemClickListener = listener;
}
}
@@ -0,0 +1,414 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.Manifest;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.github.dfqin.grantor.PermissionListener;
import com.github.dfqin.grantor.PermissionsUtil;
import com.hjq.window.EasyWindow;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.HttpHandler;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.umeng.analytics.MobclickAgent;
import java.io.File;
import java.util.List;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.CourseUrlDetailActivity;
import cn.shangyu.gdxzExpert.activity.PdfViewActivity;
import cn.shangyu.gdxzExpert.adapter.OnRecyclerViewItemClickListener;
import cn.shangyu.gdxzExpert.bean.HomeBean;
import cn.shangyu.gdxzExpert.big.activity.BigPatientActivity;
import cn.shangyu.gdxzExpert.ecdemo.storage.BookDownloadSqlManager;
import cn.shangyu.gdxzExpert.ecdemo.storage.CoursewareBookDownloadSqlManager;
import cn.shangyu.gdxzExpert.ecdemo.ui.chatting.model.DownloadModel;
import cn.shangyu.gdxzExpert.utils.DateUtil;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.Url;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_HOME_COURSEWARE_CHECK;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_HOME_GUIDE_CHECK;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_HOME_GUIDE_DOWNLOAD;
import static cn.shangyu.gdxzExpert.utils.UIUtils.getContext;
public class BigKejianAdapter extends RecyclerView.Adapter<BigKejianAdapter.ViewHolder>{
private Context context;
private List<HomeBean.GuideBean> datas;
private Boolean guide;
public BigKejianAdapter(Context context, List<HomeBean.GuideBean> datas) {
this.context=context;
this.datas=datas;
}
public void setGuide(Boolean guide) {
this.guide = guide;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.kejian_item_big,
parent, false);
ViewHolder viewHolder = new ViewHolder(view);
viewHolder.tv_open = view.findViewById(R.id.tv_open);
viewHolder.tv_n=view.findViewById(R.id.tv_n);
viewHolder.r_kj=view.findViewById(R.id.r_kj);
viewHolder.item_iv_down=view.findViewById(R.id.item_iv_down);
// viewHolder.tv_open.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// if (mOnItemClickListener != null) {
// mOnItemClickListener.onItemClick(viewHolder.itemView, viewHolder.getAdapterPosition());
// }
// }
// });
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.tv_n.setText(datas.get(position).getTitle());
if(2==getDownloadS(datas.get(position).getArticle_uuid()))
{
holder.tv_open.setText("查看");
holder.tv_open.setVisibility(View.VISIBLE);
holder.item_iv_down.setVisibility(View.GONE);
}
else if(1==getDownloadS(datas.get(position).getArticle_uuid()))
{
holder.tv_open.setText("下载中");
holder.tv_open.setVisibility(View.VISIBLE);
holder.item_iv_down.setVisibility(View.GONE);
}
else
{
holder.tv_open.setText("下载");
holder.tv_open.setVisibility(View.VISIBLE);
holder.item_iv_down.setVisibility(View.GONE);
// holder.tv_open.setVisibility(View.GONE);
// holder.item_iv_down.setVisibility(View.VISIBLE);
}
holder.r_kj.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(guide)
{
if(2==getDownloadS(datas.get(position).getArticle_uuid())
)
{
String downloadFilePath = BookDownloadSqlManager
.getDownloadFilePath(datas.get(position).getArticle_uuid());
if (!TextUtils.isEmpty(downloadFilePath)) {
MobclickAgent.onEvent(context,EXPERT_HOME_GUIDE_CHECK);
// 路径不为空,打开该指南
openFile(downloadFilePath);
} else {
// 路径为空,则删除不存在文件的记录
BookDownloadSqlManager.delDownladInfo(datas.get(position).getArticle_uuid());
notifyDataSetChanged();
ToastUtil.showToast("文件不存在,请重新下载");
}
}
else
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (PermissionsUtil.hasPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
// 下载
downloadPdfen(
Url.urlHtml +datas.get(position).getPath(),
datas.get(position).getTitle(), position,
holder);
} else {
EasyWindow.with((Activity) context).setGravity(Gravity.TOP).setYOffset(200).setWidth(1000)
.setContentView(R.layout.float_top_dialog_download).show();
PermissionsUtil.requestPermission((Activity)context, new PermissionListener() {
@Override
public void permissionGranted(@NonNull String[] permissions) {
EasyWindow.cancelAll();
// 下载
downloadPdfen(
Url.urlHtml + datas.get(position).getPath(),
datas.get(position).getTitle(), position,
holder);
}
@Override
public void permissionDenied(@NonNull String[] permissions) {
EasyWindow.cancelAll();
//用户拒绝了访问读写的申请
//
}
}, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE});
}
} else {
// 下载
downloadPdfen(
Url.urlHtml + datas.get(position).getPath(),
datas.get(position).getTitle(), position,
holder);
}
}
}
else
{
MobclickAgent.onEvent(context,EXPERT_HOME_COURSEWARE_CHECK);
Intent intent = new Intent(context, CourseUrlDetailActivity.class);
intent.putExtra("url", datas.get(position).getPath());
intent.putExtra("title", datas.get(position).getTitle());
intent.putExtra("uuid", datas.get(position).getArticle_uuid());
context.startActivity(intent);
}
}
});
// Glide.with(context).asBitmap().load(datas.get(position).getIndex_img())
// .into(holder.im_c);
// ImageLoader.getInstance().displayImage(
// datas.get(position),
// holder.im_c,
// ImageOptions.getImageOptions(R.drawable.home_scroll_default));
}
/**
* 数据库查询下载状态 0未下载,1下载中,2已下载
* @param uuid
* @return
*/
private int getDownloadS(String uuid) {
// TODO Auto-generated method stub
int downloadState;
if(guide)
{
downloadState = BookDownloadSqlManager.getDownloadState(uuid);
}
else
{
downloadState = CoursewareBookDownloadSqlManager.getDownloadState(uuid);
Log.d("aaaaaa","downloadState"+downloadState+uuid);
}
return downloadState;
}
@Override
public int getItemCount() {
return datas.size();
}
public class ViewHolder extends RecyclerView.ViewHolder
{
public ViewHolder(@NonNull View itemView) {
super(itemView);
}
TextView tv_open,tv_n;
RelativeLayout r_kj;
ImageView item_iv_down;
}
private OnRecyclerViewItemClickListener mOnItemClickListener = null;
public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) {
this.mOnItemClickListener = listener;
}
public void openFile(final String path) {
File file = new File(path);
if (file.exists()) {
if(path.contains("pdf")){
Intent intent1 = new Intent(context, PdfViewActivity.class);
intent1.putExtra("path",path);
intent1.putExtra("title","文献详情");
context.startActivity(intent1);
}else {
Uri path1 = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path1, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException e) {
ToastUtil.showToast("打开失败, 请安装相应应用!");
}
}
}
}
// private String filePath = Environment.getExternalStorageDirectory()
// .getAbsolutePath() + "/gdxzExpert/download/治疗指南/";
private String filePath =getContext().getExternalFilesDir("").getAbsolutePath()+"/gdxzExpert/download/治疗指南/";
private HttpHandler<File> hand;
/**
* @param
*
*
*/
protected void downloadPdfen(String url, final String name,
final int position, final ViewHolder holder) {
MobclickAgent.onEvent(context,EXPERT_HOME_GUIDE_DOWNLOAD);
// TODO Auto-generated method stub
if(StringUtil.isEmpty(url))
{
ToastUtil.showToast("下载地址有误"+url);
return;
}
// 下载pdf
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// sdcard存在
HttpUtils http = new HttpUtils();
String[] split = name.split(":");
String name1 = split[split.length-1];
final String path = filePath + name1 + ".pdf";
// 下载的路径,及app安装包的命名
// ***************************************************
hand = http.download(url, path, false, // 如果目标文件存在,接着未完成的部分继续下载。服务器不支持RANGE时将从新下载。
true, // 如果从请求返回信息中获取到文件名,下载完成后自动重命名。
new RequestCallBack<File>() {
private DownloadModel downloadModel;
/** 下载开始 **/
@Override
public void onStart() {
ToastUtil.showToast("开始下载" + name);
// 插入下载数据库
downloadModel = new DownloadModel(datas
.get(position).getArticle_uuid());
downloadModel.setTitle(datas.get(position).getTitle());// 设置标题
// downloadModel.setTime(datas.get(position).getTitle());// 设置标题
if(!StringUtil.isEmpty(datas.get(position).getCreate_date())) {
downloadModel.setTime(datas.get(position).getCreate_date());
} else {
downloadModel.setTime(DateUtil
.getCurDateStr("yyyy-MM-dd HH:mm:ss"));
}
downloadModel.setPath(datas.get(position).getPath());// 设置url路劲
downloadModel.setFilePath(path);// 设置文件下载路径
downloadModel.setFileFormat(".pdf");// 设置文件格式
downloadModel.setState(1);// 0未下载,1下载中,2已下载
BookDownloadSqlManager
.insertDownload(downloadModel);
notifyDataSetChanged();
}
/** 下载中与进度 **/
@Override
public void onLoading(long total, long current,
boolean isUploading) {
}
/** 下载完成 **/
@Override
public void onSuccess(ResponseInfo<File> responseInfo) {
// 更新下载状态为完成
if (downloadModel == null) {
downloadModel = new DownloadModel(datas
.get(position).getArticle_uuid());
}
downloadModel.setState(2);// 0未下载,1下载中,2已下载
BookDownloadSqlManager
.insertDownload(downloadModel);
notifyDataSetChanged();
// if ((int) holder.bt_down_load.getTag() == position) {
// // 异步显示
// // holder.bt_down_load.setText("查看全文");
// holder.bt_down_load.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.lookmess));
// holder.tv_down.setVisibility(View.GONE);
// }
// if (BookshelfListActivity.getInstance() != null) {
// BookshelfListActivity.getInstance()
// .notifyAdapter();
// }
// if (MyDownloadActivity.getInstance() != null) {
// MyDownloadActivity.getInstance()
// .notifyAdapter();
// }
ToastUtil.showToast(name + "下载完成!");
// 打开文件
// openFile(path);
}
/** 下载失败 **/
@Override
public void onFailure(HttpException error, String msg) {
ToastUtil.showToast(name + "下载失败!");
// 更新下载状态为未下载
if (downloadModel == null) {
downloadModel = new DownloadModel(datas
.get(position).getArticle_uuid());
}
downloadModel.setState(0);// 0未下载,1下载中,2已下载
BookDownloadSqlManager
.updateDownloadState(downloadModel);
notifyDataSetChanged();
// if ((int) holder.bt_down_load.getTag() == position) {
// 异步显示
// holder.bt_down_load.setText("下载全文");
// holder.bt_down_load
// .setBackgroundDrawable(mContext
// .getResources()
// .getDrawable(
// R.drawable.download));
// holder.tv_down.setVisibility(View.GONE);
// }
// if (BookshelfListActivity.getInstance() != null) {
// BookshelfListActivity.getInstance()
// .notifyAdapter();
// }
}
});
} else {
ToastUtil.showToast("SD卡不存在,无法下载");
return;
}
}
}
@@ -0,0 +1,112 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.List;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.bean.LibraryListBean.LibraryData;
/**
* LibraryBookshelfAdapter.java
*
* @author liufang
* @date 2015-11-4 上午11:15:25 Copyright (C) 2015 河南商宇科技有限公司
*
* 功能说明:我的图书馆书架适配器
*/
public class BigLibraryBookshelfAdapter extends BaseAdapter {
private Context mContext;
private List<LibraryData> mList;
private int type;
public BigLibraryBookshelfAdapter(Context context, List<LibraryData> list,
int type) {
this.mContext = context;
this.mList = list;
this.type = type;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
if (convertView == null) {
holder = new Holder();
convertView = View.inflate(mContext,
R.layout.bookself_item_big, null);
holder.name = (TextView) convertView.findViewById(R.id.item_name);// 标题名字
// holder.img = (ImageView) convertView.findViewById(R.id.item_img);
// holder.tv_num = (TextView) convertView.findViewById(R.id.tv_num);
holder.item = convertView.findViewById(R.id.item_view);
// 计算GridView的列宽
// int width = mContext.getResources().getDisplayMetrics().widthPixels;
// int w = width - CommonUtil.dip2px(mContext, 40);
// double h = (w / 3) * 1.415;
// LayoutParams i = holder.img.getLayoutParams();
// i.width = LayoutParams.WRAP_CONTENT;
// i.height = (int) h;
// holder.img.setLayoutParams(i);
// LogUtil.i("width=" + width + "w=" + w + "h=" + h);
// if (type == 1) {
// holder.name.setVisibility(View.INVISIBLE);
// holder.tv_num.setVisibility(View.INVISIBLE);
// } else {
// holder.name.setVisibility(View.VISIBLE);
// holder.tv_num.setVisibility(View.VISIBLE);
// }
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
if (position>=0){
final LibraryData data = mList.get(position);
// if (type == 1) {
// holder.name.setText(" ");
// } else {
holder.name.setText(data.name);
// holder.tv_num.setText("(共"+data.total+"份)");
// }
// if (!TextUtils.isEmpty(data.imgs)) {
// ImageLoader.getInstance().displayImage(Url.urlHtml + data.imgs,
// holder.img,
// ImageOptions.getImageOptions(R.drawable.book_default));
//
// } else {
// holder.img.setImageResource(R.drawable.book_default);
// }
}
return convertView;
}
public class Holder {
// public ImageView img;
public TextView name;
// public TextView tv_num;
View item;
}
}
@@ -0,0 +1,265 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.AnimationDrawable;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.Date;
import java.util.List;
import cn.forward.androids.views.ShapeImageView;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.ZhiBoActivity;
import cn.shangyu.gdxzExpert.bean.MeetingBean.MeatingList;
import cn.shangyu.gdxzExpert.utils.ImageOptions;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.utils.Url;
import static cn.shangyu.gdxzExpert.ecdemo.common.utils.CommomUtil.simpleDateFormatbig;
public class BigMeetingAdapter extends BaseAdapter {
Context context;
List<MeatingList> mList;
private AnimationDrawable anim;
public BigMeetingAdapter(Context mActivity, List<MeatingList> mList) {
this.context = mActivity;
this.mList = mList;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mList.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 vh = null;
if (convertView == null) {
convertView = UIUtils.inflate(R.layout.item_meeting_big);
vh = new ViewHolder();
vh.mDate = (TextView) convertView
.findViewById(R.id.tv_item_meeting_date);
vh.mTitle = (TextView) convertView
.findViewById(R.id.tv_item_meeting_title);
vh.tv_item_meeting_end=convertView.findViewById(R.id.tv_item_meeting_end);
// vh.mLocation = (TextView) convertView
// .findViewById(R.id.tv_item_meeting_location);
// vh.mTDate = (TextView) convertView
// .findViewById(R.id.tv_item_meeting_tdate);
vh.mImage = convertView
.findViewById(R.id.iv_item_meeting_image);
vh.imageView1=convertView.findViewById(R.id.imageView1);
// vh.mV_color = convertView.findViewById(R.id.item_color);
// vh.mRl = (RelativeLayout) convertView
// .findViewById(R.id.rl_item_meeting);
vh.mFl = (FrameLayout) convertView.findViewById(R.id.fl_meeting);
// vh.mZhiBo = (TextView) convertView.findViewById(R.id.tv_meeting);
// vh.mIv_bofang = (ImageView) convertView
// .findViewById(R.id.iv_meeting_bofang);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
// vh.mDate.setText("直播时间:"+" "+getTime(mList.get(position).getBegin_date(),0,16));
vh.mTitle.setText(mList.get(position).getTitle());
// vh.mLocation.setText(mList.get(position).getLocation());
if (mList.get(position).getStatus() != null
&& mList.get(position).getStatus().equals("1")) {
// ViewGroup.LayoutParams pp = vh.mRl.getLayoutParams();
// vh.mRl.getLayoutParams();
// vh.mIv_bofang.setVisibility(View.VISIBLE);
// vh.mZhiBo.setVisibility(View.VISIBLE);
// vh.mSpareZhiBo.setVisibility(View.VISIBLE);
// pp.height = dip2px(mActivity, 247);
vh.mFl.setVisibility(View.VISIBLE);
// vh.mRl.setLayoutParams(pp);
// vh.mZhiBo.setText("预告");
if(getTime(simpleDateFormatbig.format(new Date()),0,10).equals(getTime(mList.get(position).getBegin_date(), 0,10)))
{
Glide.with(context).load(R.drawable.meetingtime_big1).into(vh.imageView1);
vh.mDate.setText("今日"+getTime(mList.get(position).getBegin_date(), 10,16)+" 开始直播");
vh.mDate.setTextColor(Color.parseColor("#F0992D"));
}
else
{
Glide.with(context).load(R.drawable.meetingtime_big).into(vh.imageView1);
// vh.imageView1.setImageDrawable(mActivity.getResources().getDrawable(R.drawable.meetingtime_big));
vh.mDate.setText("直播时间:"+" "+getTime(mList.get(position).getBegin_date(), 0,16));
vh.mDate.setTextColor(Color.parseColor("#999999"));
}
vh.tv_item_meeting_end.setVisibility(View.GONE);
} else if (mList.get(position).getStatus() != null
&& mList.get(position).getStatus().equals("2")) {
// ViewGroup.LayoutParams pp = vh.mRl.getLayoutParams();
// vh.mRl.getLayoutParams();
// vh.mIv_bofang.setVisibility(View.VISIBLE);
// vh.mZhiBo.setVisibility(View.VISIBLE);
// vh.mSpareZhiBo.setVisibility(View.VISIBLE);
// pp.height = dip2px(mActivity, 247);
vh.mFl.setVisibility(View.VISIBLE);
// ImageLoader.getInstance().displayImage(
// context.getResources().getDrawable(R.drawable.big_bo_g),vh.imageView1);
// RequestOptions requestOptions = new RequestOptions().dontAnimate().skipMemoryCache(true);
// Glide.with(context).load(R.drawable.zhibo_anim).apply(requestOptions).into(vh.imageView1);
vh.imageView1.setImageDrawable(context.getResources().getDrawable(R.drawable.zhibo_anim));
// vh.imageView1.setBackground(context.getResources().getDrawable(R.drawable.zhibo_anim));
anim = (AnimationDrawable) vh.imageView1.getDrawable();
// vh.imageView1.post(new Runnable() {
// @Override
// public void run() {
//
anim.start();
// }
// });
// vh.imageView1.setImageDrawable(mActivity.getResources().getDrawable(R.drawable.meetingtime_big1));
vh.mDate.setText("直播进行中");
vh.mDate.setTextColor(Color.parseColor("#F0992D"));
// vh.mRl.setLayoutParams(pp);
// vh.mZhiBo.setText("直播中");
vh.tv_item_meeting_end.setVisibility(View.GONE);
} else if (mList.get(position).getStatus() != null
&& mList.get(position).getStatus().equals("3")) {
// ViewGroup.LayoutParams pp = vh.mRl.getLayoutParams();
// vh.mRl.getLayoutParams();
// vh.mIv_bofang.setVisibility(View.GONE);
// vh.mZhiBo.setVisibility(View.VISIBLE);
// vh.mSpareZhiBo.setVisibility(View.GONE);
// pp.height = dip2px(mActivity, 247);
vh.mFl.setVisibility(View.VISIBLE);
// vh.mRl.setLayoutParams(pp);
Glide.with(context).load(R.drawable.meetingtime_big).into(vh.imageView1);
// vh.imageView1.setImageDrawable(mActivity.getResources().getDrawable(R.drawable.meetingtime_big));
vh.mDate.setText("直播时间:"+" "+getTime(mList.get(position).getBegin_date(), 0,10));
vh.mDate.setTextColor(Color.parseColor("#999999"));
// vh.mZhiBo.setText("已结束");
vh.tv_item_meeting_end.setVisibility(View.VISIBLE);
}else if (mList.get(position).getStatus() != null
&& mList.get(position).getStatus().equals("4")) {
// ViewGroup.LayoutParams pp = vh.mRl.getLayoutParams();
// vh.mRl.getLayoutParams();
// vh.mIv_bofang.setVisibility(View.GONE);
// vh.mZhiBo.setVisibility(View.VISIBLE);
// vh.mSpareZhiBo.setVisibility(View.GONE);
// pp.height = dip2px(mActivity, 247);
vh.mFl.setVisibility(View.VISIBLE);
// vh.mRl.setLayoutParams(pp);
Glide.with(context).load(R.drawable.meetingtime_big).into(vh.imageView1);
// vh.imageView1.setImageDrawable(mActivity.getResources().getDrawable(R.drawable.meetingtime_big));
vh.mDate.setText("直播回放:"+" "+getTime(mList.get(position).getBegin_date(), 0,16));
vh.mDate.setTextColor(Color.parseColor("#999999"));
// vh.mZhiBo.setText("回放中");
vh.tv_item_meeting_end.setVisibility(View.GONE);
} else {
// vh.mIv_bofang.setVisibility(View.GONE);
// vh.mZhiBo.setVisibility(View.GONE);
// vh.mSpareZhiBo.setVisibility(View.GONE);
// ViewGroup.LayoutParams pp = vh.mRl.getLayoutParams();
// vh.mRl.getLayoutParams();
// pp.height = dip2px(mActivity, 75);
Glide.with(context).load(R.drawable.meetingtime_big).into(vh.imageView1);
// vh.imageView1.setImageDrawable(mActivity.getResources().getDrawable(R.drawable.meetingtime_big));
vh.mDate.setText("直播时间:"+" "+getTime(mList.get(position).getBegin_date(), 0,16));
vh.mDate.setTextColor(Color.parseColor("#999999"));
vh.mFl.setVisibility(View.GONE);
// vh.mRl.setLayoutParams(pp);
vh.tv_item_meeting_end.setVisibility(View.GONE);
}
vh.mFl.setTag(position);
vh.mFl.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (mList.get((Integer) v.getTag()).getStatus().equals("3")) {
return;
}
Intent intent = new Intent(context, ZhiBoActivity.class);
intent.putExtra("newsTitle", mList.get((Integer) v.getTag())
.getTitle());
intent.putExtra("url", mList.get((Integer) v.getTag())
.getLiveurl());
intent.putExtra("summary", mList.get((Integer) v.getTag())
.getLiveimg());
intent.setType("zhibo");
context.startActivity(intent);
}
});
if (!TextUtils.isEmpty(mList.get(position).getLiveimg())
&& !"null".equals(mList.get(position).getLiveimg())) {
ImageLoader.getInstance().displayImage(
Url.urlHtml + mList.get(position).getLiveimg(),
vh.mImage,
ImageOptions
.getImageOptions(R.drawable.home_scroll_default1));
} else {
vh.mImage.setImageResource(R.drawable.home_scroll_default1);
}
return convertView;
}
class ViewHolder {
TextView mTitle, mDate,tv_item_meeting_end;
// View mV_color;
ShapeImageView mImage;
ImageView imageView1;
// RelativeLayout mRl;
FrameLayout mFl;
}
public String getTime(String str1, int bnum,int dnum) {
// if (str1.subSequence(0, 16).equals(str2.subSequence(0, 16))) {
return str1.replaceAll("-", ".").subSequence(bnum, dnum).toString();
// }
// StringBuilder sb = new StringBuilder();
// sb.append(str1.replaceAll("-", ".").subSequence(0, 15));
// sb.append("-");
// sb.append(str2.replaceAll("-", ".").subSequence(0, 15));
// return sb.toString();
}
public static int dip2px(Context context, double d) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (d * scale + 0.5f);
}
}
@@ -0,0 +1,84 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import cn.shangyu.gdxzExpert.R;
import me.majiajie.pagerbottomtabstrip.item.BaseTabItem;
public class BigNormalItemView extends BaseTabItem {
TextView tv_title;
ImageView im_selector;
public BigNormalItemView(@NonNull Context context) {
super(context);
LayoutInflater.from(context).inflate(R.layout.item_kejianna, this, true);
tv_title=findViewById(R.id.tv_title);
im_selector=findViewById(R.id.im_selector);
}
/**
* 方便初始化的方法
*
* @param title 标题
*/
public void initialize( String title) {
tv_title.setText(title);
}
@Override
public void setChecked(boolean checked) {
if (checked) {
tv_title.setTextColor(Color.parseColor("#ff000000"));
tv_title.setTextSize(23);
tv_title.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
im_selector.setVisibility(VISIBLE);
} else {
tv_title.setTextColor(Color.parseColor("#ff666666"));
tv_title.setTextSize(21);
tv_title.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
im_selector.setVisibility(GONE);
}
}
@Override
public void setMessageNumber(int number) {
}
@Override
public void setHasMessage(boolean hasMessage) {
}
@Override
public void setTitle(String title) {
tv_title.setText(title);
}
@Override
public void setDefaultDrawable(Drawable drawable) {
}
@Override
public void setSelectedDrawable(Drawable drawable) {
}
@Override
public String getTitle() {
return tv_title.getText().toString();
}
}
@@ -0,0 +1,53 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.bumptech.glide.Glide;
import com.zaaach.transformerslayout.holder.Holder;
import java.util.List;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.bean.IconBean;
public class BigRollAdapter extends Holder<IconBean> {
private ImageView icon;
private TextView text;
private ImageView iv_red;
public BigRollAdapter(@NonNull View itemView) {
super(itemView);
}
@Override
protected void initView(View itemView) {
icon = itemView.findViewById(R.id.iv_menu_icon);
text = itemView.findViewById(R.id.tv_menu_text);
iv_red=itemView.findViewById(R.id.iv_red);
}
@Override
public void onBind(Context context, List<IconBean> list, @Nullable IconBean data, int position) {
if (data == null) return;
if(data.getRed()==null||!data.getRed())
{
iv_red.setVisibility(View.GONE);
}
else
{
iv_red.setVisibility(View.VISIBLE);
}
text.setText(data.getName());
// icon.setImageResource(data.getIcon());
Glide.with(context)
.asBitmap()
// .placeholder(R.drawable.default_place_holder)
.load(data.getImg())
.into(icon);
}
}
@@ -0,0 +1,13 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.widget.ArrayAdapter;
import androidx.annotation.NonNull;
public class BigToolAdapter extends ArrayAdapter<String> {
public BigToolAdapter(@NonNull Context context, int resource, int textViewResourceId, @NonNull String[] objects) {
super(context, resource, textViewResourceId, objects);
}
}
@@ -0,0 +1,110 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.List;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.bean.VideoMoreBean.VideoMore;
import cn.shangyu.gdxzExpert.big.activity.BigVideoActivity;
import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity;
import cn.shangyu.gdxzExpert.utils.UIUtils;
public class BigVideoSAdapter extends BaseAdapter {
private List<VideoMore> lists;
private BigVideoActivity mActivity;
public BigVideoSAdapter(List<VideoMore> lists, BigVideoActivity mActivity) {
this.lists = lists;
this.mActivity = mActivity;
}
public void getDatas(List<VideoMore> lists) {
this.lists = lists;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return lists.size();
}
@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_big);
vh = new ViewHolder();
vh.item_view = convertView
.findViewById(R.id.item_view);
vh.mTv_title1 = (TextView) convertView
.findViewById(R.id.tv_video_content1);
vh.mTv_name1 = (TextView) convertView
.findViewById(R.id.tv_video_name1);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
if(lists.get(position).getCreate_date()!=null&&lists.get(position).getCreate_date().length()>9)
{
vh.mTv_title1.setText(lists.get(position).getPublic_name()+" "+lists.get(position).getCreate_date().substring(0,10));
}
else
{
vh.mTv_title1.setText(lists.get(position).getPublic_name()+" "+lists.get(position).getCreate_date());
}
vh.mTv_name1.setText(lists.get(position).getName());
vh.item_view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = VideoDetailPolyvPlayerActivity.newIntent(mActivity, VideoDetailPolyvPlayerActivity.PlayMode.portrait,"");
// 在线视频和下载的视频播放的时候只显示播放器窗口,用该参数来控制
intent.putExtra("startNow", false);
intent.putExtra("isVlmsOnline", false);
intent.putExtra("url", lists.get(position).getPath());
intent.putExtra("uuid", lists.get(position).getUuid());
intent.putExtra("note", lists.get(position).getNote());
intent.putExtra("title", lists.get(position).getName());
intent.putExtra("readnum", lists.get(position).getReadnum());
intent.putExtra("imgpath", lists.get(position).getImgpath());
intent.putExtra("public_name", lists.get(position)
.getPublic_name());
mActivity.startActivityForResult(intent,
mActivity.GET_READ_NUM_RESULT2);
}
});
return convertView;
}
class ViewHolder {
LinearLayout item_view;
TextView mTv_title1, mTv_name1;
}
}
@@ -0,0 +1,147 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.adapter.VideoTeachAdapter;
import cn.shangyu.gdxzExpert.bean.VideoMoreBean;
import cn.shangyu.gdxzExpert.utils.UIUtils;
/**
* Created by WANGChengXin on 2019/10/25.
*/
public class BigVideoTeachAdapter extends VideoTeachAdapter {
private List<VideoMoreBean.VideoMore> data;
public BigVideoTeachAdapter(List<VideoMoreBean.VideoMore> data) {
super(data);
this.data = data;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
if (data == null) {
return 0;
}
return data.size();
}
public void getDatas(List<VideoMoreBean.VideoMore> data) {
this.data = data;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return 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
NewsViewHolder vh = null;
if (convertView == null) {
convertView = UIUtils.inflate(R.layout.item_video_search_big);
vh = new NewsViewHolder();
vh.mTv_Title = (TextView) convertView.findViewById(R.id.tv_title);
vh.tv_name = (TextView) convertView.findViewById(R.id.tv_name);
vh.tv_time = (TextView) convertView.findViewById(R.id.tv_time);
vh.tv_video_type_name = (TextView) convertView.findViewById(R.id.tv_video_type_name);
vh.tv_num = (TextView) convertView.findViewById(R.id.tv_num);
convertView.setTag(vh);
} else {
vh = (NewsViewHolder) convertView.getTag();
}
vh.mTv_Title.setText(data.get(position).getName());
vh.tv_name.setText(data.get(position).getPublic_name()+" "+data.get(position).getCreate_date().split(" ")[0]);
vh.tv_num.setText(data.get(position).getReadnum()+"人阅读");
vh.tv_video_type_name.setText(data.get(position).getVideo_type_name());
// vh.item_view.setOnClickListener(new View.OnClickListener() {
//
// @Override
// public void onClick(View v) {
// // TODO Auto-generated method stub
// Intent intent = VideoDetailPolyvPlayerActivity.newIntent(mActivity, VideoDetailPolyvPlayerActivity.PlayMode.portrait,"");
// // 在线视频和下载的视频播放的时候只显示播放器窗口,用该参数来控制
// intent.putExtra("startNow", false);
// intent.putExtra("isVlmsOnline", false);
// intent.putExtra("url", lists.get(position).getPath());
// intent.putExtra("uuid", lists.get(position).getUuid());
// intent.putExtra("note", lists.get(position).getNote());
// intent.putExtra("title", lists.get(position).getName());
// intent.putExtra("readnum", lists.get(position).getReadnum());
// intent.putExtra("imgpath", lists.get(position).getImgpath());
// intent.putExtra("need_inside_share", "yes");
// intent.putExtra("public_name", lists.get(position)
// .getPublic_name());
// mActivity.startActivityForResult(intent,
// mActivity.GET_READ_NUM_RESULT2);
//
// }
// });
//
//
// // 给控件赋值.
// VideoMoreBean.VideoMore videoMore = data.get(position);
// mHolder.tvTitle.setText(videoMore.getName());
// mHolder.im_read_count.setVisibility(View.INVISIBLE);
// mHolder.tvreadnum.setVisibility(View.INVISIBLE);
// mHolder.tvSummary.setVisibility(View.VISIBLE);
// mHolder.im_argee.setVisibility(View.GONE);
// mHolder.tvdianzannum.setVisibility(View.GONE);
// mHolder.im_argee2.setVisibility(View.VISIBLE);
// mHolder.tv_dianzan_count2.setVisibility(View.VISIBLE);
// if (!TextUtils.isEmpty(data.get(position).getImgpath())) {
// ImageLoader.getInstance().displayImage(
// Url.urlHtml + data.get(position).getImgpath(), mHolder.ivImage,
// ImageOptions.getImageOptions(R.drawable.default_news_iv));
// } else {
// mHolder.ivImage.setImageResource(R.drawable.default_news_iv);
// }
// mHolder.tvSummary.setText(data.get(position).getPublic_name());
// mHolder.tvDate.setText(data.get(position).getCreate_date().split(" ")[0]);
// mHolder.tv_dianzan_count2.setText(""+data.get(position).getReadnum());
return convertView;
}
private class NewsViewHolder {
TextView mTv_Title,tv_name,tv_time,tv_video_type_name,tv_num;
}
public boolean inNow(String date) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String ds1 = formatter.format(new Date());
if (date.equals(ds1)) {
return true;
}
return false;
}
}
@@ -0,0 +1,130 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.core.content.ContextCompat;
import me.majiajie.pagerbottomtabstrip.R;
import me.majiajie.pagerbottomtabstrip.internal.RoundMessageView;
import me.majiajie.pagerbottomtabstrip.item.BaseTabItem;
public class NormalItemViewBig extends BaseTabItem {
private ImageView mIcon;
private final TextView mTitle;
private final RoundMessageView mMessages;
private Drawable mDefaultDrawable;
private Drawable mCheckedDrawable;
private int mDefaultTextColor = 0x56000000;
private int mCheckedTextColor = 0x56000000;
private boolean mChecked;
public NormalItemViewBig(Context context) {
this(context, null);
}
public NormalItemViewBig(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public NormalItemViewBig(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// LayoutInflater.from(context).inflate(R.layout.item_normal, this, true);
LayoutInflater.from(context).inflate(R.layout.item_normal_new_big, this, true);
mIcon = findViewById(R.id.icon);
mTitle = findViewById(R.id.title);
mMessages = findViewById(R.id.messages);
}
@Override
public CharSequence getAccessibilityClassName() {
return NormalItemViewBig.class.getName();
}
/**
* 方便初始化的方法
*
* @param drawableRes 默认状态的图标
* @param checkedDrawableRes 选中状态的图标
* @param title 标题
*/
public void initialize(@DrawableRes int drawableRes, @DrawableRes int checkedDrawableRes, String title) {
mDefaultDrawable = ContextCompat.getDrawable(getContext(), drawableRes);
mCheckedDrawable = ContextCompat.getDrawable(getContext(), checkedDrawableRes);
mTitle.setText(title);
}
public void initialize(@DrawableRes int drawableRes, @DrawableRes int checkedDrawableRes, String title,int textsize) {
mDefaultDrawable = ContextCompat.getDrawable(getContext(), drawableRes);
mCheckedDrawable = ContextCompat.getDrawable(getContext(), checkedDrawableRes);
mTitle.setText(title);
mTitle.setTextSize(textsize);
}
@Override
public void setChecked(boolean checked) {
if (checked) {
mIcon.setImageDrawable(mCheckedDrawable);
mTitle.setTextColor(mCheckedTextColor);
} else {
mIcon.setImageDrawable(mDefaultDrawable);
mTitle.setTextColor(mDefaultTextColor);
}
mChecked = checked;
}
@Override
public void setMessageNumber(int number) {
mMessages.setMessageNumber(number);
}
@Override
public void setHasMessage(boolean hasMessage) {
mMessages.setHasMessage(hasMessage);
}
@Override
public void setTitle(String title) {
mTitle.setText(title);
}
@Override
public void setDefaultDrawable(Drawable drawable) {
mDefaultDrawable = drawable;
if (!mChecked) {
mIcon.setImageDrawable(drawable);
}
}
@Override
public void setSelectedDrawable(Drawable drawable) {
mCheckedDrawable = drawable;
if (mChecked) {
mIcon.setImageDrawable(drawable);
}
}
@Override
public String getTitle() {
return mTitle.getText().toString();
}
public void setTextDefaultColor(@ColorInt int color) {
mDefaultTextColor = color;
}
public void setTextCheckedColor(@ColorInt int color) {
mCheckedTextColor = color;
}
}
@@ -0,0 +1,59 @@
package cn.shangyu.gdxzExpert.big.adapter;
import android.content.Context;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import androidx.recyclerview.widget.RecyclerView;
public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
public interface OnItemClickListener {
void onItemClick(View view, int position);
void onItemLongClick(View view, int position);
}
private OnItemClickListener mListener;
private GestureDetector mGestureDetector;
public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) {
mListener = listener;
mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onSingleTapUp(MotionEvent e) {
return true;
}
@Override
public void onLongPress(MotionEvent e) {
View childView = recyclerView.findChildViewUnder(e.getX(), e.getY());
if (childView != null && mListener != null) {
mListener.onItemLongClick(childView, recyclerView.getChildAdapterPosition(childView));
}
}
});
}
@Override
public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {
View childView = view.findChildViewUnder(e.getX(), e.getY());
if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
mListener.onItemClick(childView, view.getChildAdapterPosition(childView));
}
return false;
}
@Override
public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
}
@@ -0,0 +1,185 @@
package cn.shangyu.gdxzExpert.big.bean;
import java.util.List;
public class OldPatientBean {
private String msg;
private String code;
private PatientBean data;
private String message;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public PatientBean getData() {
return data;
}
public void setData(PatientBean data) {
this.data = data;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public class PatientBean
{
private int pageNum;
private int pages;
private int pageSize;
private int totall;
private Boolean isFirstPage;
private Boolean isLastPage;
private List<ListBean> list;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotall() {
return totall;
}
public void setTotall(int totall) {
this.totall = totall;
}
public Boolean getFirstPage() {
return isFirstPage;
}
public void setFirstPage(Boolean firstPage) {
isFirstPage = firstPage;
}
public Boolean getLastPage() {
return isLastPage;
}
public void setLastPage(Boolean lastPage) {
isLastPage = lastPage;
}
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
}
public class ListBean
{
public String patient_photo;
public String expert_uuid;
public String patient_uuid;
public String create_date;
public String patient_name;
public String nickname;
public String status;
public String content;
public String getPatient_photo() {
return patient_photo;
}
public void setPatient_photo(String patient_photo) {
this.patient_photo = patient_photo;
}
public String getExpert_uuid() {
return expert_uuid;
}
public void setExpert_uuid(String expert_uuid) {
this.expert_uuid = expert_uuid;
}
public String getPatient_uuid() {
return patient_uuid;
}
public void setPatient_uuid(String patient_uuid) {
this.patient_uuid = patient_uuid;
}
public String getCreate_date() {
return create_date;
}
public void setCreate_date(String create_date) {
this.create_date = create_date;
}
public String getPatient_name() {
return patient_name;
}
public void setPatient_name(String patient_name) {
this.patient_name = patient_name;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
}
@@ -0,0 +1,549 @@
package cn.shangyu.gdxzExpert.big.fragment;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
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.FrameLayout;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import java.util.ArrayList;
import java.util.List;
import cn.shangyu.gdxzExpert.BuildConfig;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.BookshelfListActivity;
import cn.shangyu.gdxzExpert.activity.FreeagentsearchActivity;
import cn.shangyu.gdxzExpert.activity.MyDownloadActivity;
import cn.shangyu.gdxzExpert.activity.NewsDetailActivity;
import cn.shangyu.gdxzExpert.activity.PublicSearchActivity;
import cn.shangyu.gdxzExpert.activity.WFArticleListActivity;
import cn.shangyu.gdxzExpert.base.BaseFragment;
import cn.shangyu.gdxzExpert.bean.LibraryListBean;
import cn.shangyu.gdxzExpert.bean.LibraryListBean.LibraryData;
import cn.shangyu.gdxzExpert.bean.TagList;
import cn.shangyu.gdxzExpert.big.adapter.BigLibraryBookshelfAdapter;
import cn.shangyu.gdxzExpert.http.HttpHelper;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase.Mode;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.LogUtil;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
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.utils.ValidateUtils;
import cn.shangyu.gdxzExpert.view.DrawableCenterButton;
import cn.shangyu.gdxzExpert.view.DrawableCenterButtonR;
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
/**
* LibraryListFragment.java
*
* @author liufang
* @date 2015-11-4 上午10:17:14
*
* @copyright Copyright (C) 2015 河南商宇科技有限公司
* @desc 功能说明:治疗指南、期刊杂志和权威杂志列表页面
*/
public class BIgBookshelfFragment extends BaseFragment implements
OnItemClickListener {
private PullToRefreshListView ptrLv;
private TextView load_empty;
private BigLibraryBookshelfAdapter mAdapter;
private List<LibraryData> libraryList = new ArrayList<>();
private String url;
private BIgBookshelfFragment bookfaament;
private int type;
private LinearLayout mLl_search;
private DrawableCenterButton bt_SearchBook;
private DrawableCenterButtonR bt_screen;
private RelativeLayout mRl_screen;
private GridView mGv_Tage;
private Button mBt_Sure, mBt_reset;
private TagList mTagList;
private List<String> TagPosition;
private List<String> Tags;
private ScreenAdapter mAdapter2;
Boolean ENGLISH =false;
public static BIgBookshelfFragment newInstance(String url, int type,Boolean ENGLISH) {
BIgBookshelfFragment mFragment = new BIgBookshelfFragment();
Bundle bundle = new Bundle();
bundle.putString("loadUrl", url);
bundle.putInt("type", type);
bundle.putBoolean("ENGLISH",ENGLISH);
mFragment.setArguments(bundle);
return mFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
url = getArguments().getString("loadUrl");
type = getArguments().getInt("type", 0);
ENGLISH=getArguments().getBoolean("ENGLISH",false);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = UIUtils.inflate(R.layout.fragment_bookshelf_b);
ptrLv =view.findViewById(R.id.lv_item_library);// 下拉刷新的listview控件
// //处理正在加载,空,错误的布局
load_empty = (TextView) view.findViewById(R.id.load_empty);
ll_loading = (FrameLayout) view.findViewById(R.id.ll_loading);
ll_load_progress = (LinearLayout) view
.findViewById(R.id.ll_load_progress);
tv_load_fail = (TextView) view.findViewById(R.id.tv_load_fail);
mLl_search = (LinearLayout) view.findViewById(R.id.rl_search_book);
bt_screen = (DrawableCenterButtonR) view
.findViewById(R.id.bt_book_screen);
bt_SearchBook = (DrawableCenterButton) view
.findViewById(R.id.bt_book_search);
mRl_screen = (RelativeLayout) view.findViewById(R.id.rl_pop_screen);
mGv_Tage = (GridView) view.findViewById(R.id.gv_teach);
mBt_Sure = (Button) view.findViewById(R.id.bt_sure);
mBt_reset = (Button) view.findViewById(R.id.bt_reset);
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_screen.setVisibility(View.GONE);
if (Tags.size() > 0) {
Drawable drawable = getResources().getDrawable(
R.drawable.cb_screen_yes);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight()); // 设置边界
bt_screen.setCompoundDrawables(null, null, drawable, null);
bt_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()); // 设置边界
bt_screen.setCompoundDrawables(null, null, drawable, null);
bt_screen.setTextColor(getResources().getColor(
R.color.tab_text_nor));
}
StringBuilder keywords = new StringBuilder();
if (Tags != null && Tags.size() > 0) {
for (int i = 0; i < Tags.size(); i++) {
keywords.append(Tags.get(i) + ",");
}
} else {
return;
}
Intent intentLibrary = new Intent(mActivity,BookshelfListActivity.class);
intentLibrary.putExtra("search", keywords.toString());
intentLibrary.putExtra("type", "0");
intentLibrary.putExtra("title", "诊疗指南");
startActivity(intentLibrary);
}
});
bt_SearchBook.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(mActivity,
PublicSearchActivity.class);
intent.setType("drug");
startActivity(intent);
}
});
if (url.equals(Url.getGuideType)) {
mLl_search.setVisibility(View.VISIBLE);
}
if (type == 0) {
load_empty.setText("暂无相关指南");
getTagList();
} else {
load_empty.setText("暂无相关文章");
}
// 设置只有下拉刷新
ptrLv.setMode(Mode.PULL_FROM_START);
// 得到实际的ListView 设置点击
ptrLv.getRefreshableView().setOnItemClickListener(this);
ptrLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2(){
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
getLibraryList(url);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
getLibraryList(url);
}
});
bt_screen.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (mTagList == null) {
getTagList();
}
if (mRl_screen.getVisibility() == View.GONE) {
mRl_screen.setVisibility(View.VISIBLE);
} else {
mRl_screen.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();
}
}
}
});
initData();
return view;
}
@Override
public View onCreateSuccessedView() {
return null;
}
@Override
public ResultState onLoad() {
return null;
}
/**
* 获取筛选标签
*/
public void getTagList() {
RequestParams params = new RequestParams();
params.addBodyParameter("type", "3");
HttpHelper.loadData(HttpMethod.POST, Url.getTagList, params,
new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> info) {
SharePrefUtil.saveString(mActivity, Url.getTagList,
info.result);
processTage(info.result);
}
@Override
public void onFailure(HttpException arg0, String arg1) {
LogUtil.i("getLibraryList.onFailure = " + arg1);
}
});
}
/**
* 实例化数据
*/
private void initData() {
// 从sp里取出上一次存的列表数据
String result = SharePrefUtil.getString(mActivity, url, null);
if (!TextUtils.isEmpty(result)) {
processData(result, false);
} else {
// 显示加载框
showLoadingProgress();
}
// 网络是否可用
if (!CommonUtil.isNetworkAvailable()) {
onLoaded();
ptrLv.getRefreshableView().setEmptyView(tv_load_fail);
return;
}
getLibraryList(url);
mGv_Tage.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();
}
});
}
/**
* 获取书架列表
*
* @param loadUrl
*/
private void getLibraryList(String loadUrl) {
if (BuildConfig.DEBUG)
LogUtil.i("getLibraryList.loadUrl = " + loadUrl);
HttpHelper.loadData(HttpMethod.POST, loadUrl, null,
new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> info) {
LogUtil.i("getLibraryList.onSuccess info.result = "
+ info.result);
SharePrefUtil.saveString(mActivity, url, info.result);
processData(info.result, true);
}
@Override
public void onFailure(HttpException arg0, String arg1) {
LogUtil.i("getLibraryList.onFailure = " + arg1);
onLoaded();
ptrLv.getRefreshableView().setEmptyView(tv_load_fail);
ToastUtil.showToast("请求失败,请重试");
}
});
}
/**
* 设置刷新时间
*/
private void setLastUpdateTime() {
String text = CommonUtil.getStringDate();
ptrLv.getLoadingLayoutProxy().setLastUpdatedLabel(text);
}
/**
* 数据加载完成时,取消加载动画
*/
private void onLoaded() {
dismissLoadingProgress();
ptrLv.onRefreshComplete();
}
// 标签解析
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_Tage.setAdapter(mAdapter2);
}
}
/**
* 解析并处理数据
*
* @param result
*/
private void processData(String result, boolean isGetHttp) {
Log.i("TAG","result = "+result);
LibraryListBean bean = null;
try {
bean = GsonTools.fromGsonToBean(result, LibraryListBean.class);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (bean != null) {
if (StringUtil.isOneToCode(bean.code)) {
ToastUtil.showToast(bean.message);
ptrLv.setEmptyView(load_empty);
return;
}
} else {
ptrLv.setEmptyView(load_empty);
return;
}
// 初始化列表的数据
libraryList.clear();
// 数据为空
if (bean.data == null || bean.data.size() == 0) {// bean.data.news
load_empty.setVisibility(View.VISIBLE);
} else {
load_empty.setVisibility(View.GONE);
libraryList.addAll(bean.data);
}
if (mAdapter == null) {
mAdapter = new BigLibraryBookshelfAdapter(mActivity, libraryList, type);
ptrLv.getRefreshableView().setAdapter(mAdapter);
} else {
mAdapter.notifyDataSetChanged();
}
// 完成刷新
onLoaded();
// 设置刷新的时间
setLastUpdateTime();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
LibraryData data = (LibraryData) parent.getAdapter().getItem(position);
Intent intent = null;
if (type == 1) {
if (ValidateUtils.isContainChinese(data.getName())) {
if ("免费代查".equals(data.getName())) {
intent = new Intent(mActivity,
FreeagentsearchActivity.class);
} else {
intent = new Intent(mActivity, WFArticleListActivity.class);
}
} else {
if ("PubMeb".equals(data.getName())) {
Intent intents = new Intent(mActivity,
NewsDetailActivity.class);
intents.putExtra("url",
"http://www.ncbi.nlm.nih.gov/m/pubmed/");
intents.putExtra("title", "PubMed");
startActivity(intents);
} else {
// ToastUtil.showMessage("英文的");
intent = new Intent(mActivity, BookshelfListActivity.class);
intent.putExtra("title", data.name);
intent.putExtra("ENGLISH",ENGLISH);
intent.putExtra("loadUrl", Url.getMagazineList);
intent.putExtra("type", type);
intent.putExtra("typeUuid", data.uuid);
startActivity(intent);
}
return;
}
} else {
intent = new Intent(mActivity, BookshelfListActivity.class);
}
intent.putExtra("title", data.name);
intent.putExtra("cn", data.cn);
// 此处 判断治疗指南 列表的第一条数据 点击跳转到 我的下载(治疗指南列表的第一条数据是固定不变的)
if (type == 0 && data.name.equals("您已下载")) {
Intent i = new Intent(getActivity(), MyDownloadActivity.class);
i.setType("0");
startActivity(i);
} else {
if (type == 0) {
intent.putExtra("loadUrl", Url.getGuideList);
intent.putExtra("type", type);
intent.putExtra("typeUuid", data.uuid);
} else {
intent.putExtra("loadUrl", Url.getMagazineList);
}
startActivity(intent);
}
}
public class ScreenAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return mTagList.data.size();
}
@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;
}
}
}
@@ -0,0 +1,325 @@
package cn.shangyu.gdxzExpert.big.fragment;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
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.MessageAdapter;
import cn.shangyu.gdxzExpert.base.BaseFragment;
import cn.shangyu.gdxzExpert.bean.MessageBean;
import cn.shangyu.gdxzExpert.big.activity.BigNewSystemMessageActivity;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import static cn.shangyu.gdxzExpert.utils.Url.appMesageList;
/**
* A simple {@link Fragment} subclass.
* Use the {@link BigFuMessageFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class BigFuMessageFragment extends BaseFragment implements AdapterView.OnItemClickListener, OnCallBackFromNet {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private View view;
PullToRefreshListView ptrLv;
public View ll_empty;
public int page = 1;
MessageAdapter messageAdapter;
List<MessageBean.BeanData.DetailBean> data=new ArrayList<>();
public BigFuMessageFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment FuMessageFragment.
*/
// TODO: Rename and change types and number of parameters
public static BigFuMessageFragment newInstance(String param1, String param2) {
BigFuMessageFragment fragment = new BigFuMessageFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// if (getArguments() != null) {
// mParam1 = getArguments().getString(ARG_PARAM1);
// mParam2 = getArguments().getString(ARG_PARAM2);
// }
// }
// @Override
// public View onCreateView(LayoutInflater inflater, ViewGroup container,
// Bundle savedInstanceState) {
// // Inflate the layout for this fragment
// return inflater.inflate(R.layout.fragment_fu_message, container, false);
// }
MessageBean messageBeans;
private BigNewSystemMessageActivity newSystemMessageActivity;
@Override
public View onCreateSuccessedView() {
newSystemMessageActivity= (BigNewSystemMessageActivity) getActivity();
if (view == null)
view = UIUtils.inflate(R.layout.fragment_fu_message);
// if (getArguments() != null) {
// messageBeans = (ArrayList<MessageBean>)getArguments().getSerializable("messagebean");
// }
ptrLv = view.findViewById(R.id.lv_item_c);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ll_empty = view.findViewById(R.id.ll_empty);
TextView tv_empty_msg = view.findViewById(R.id.tv_empty_msg);
tv_empty_msg.setText("暂时还没有收到福利通知哦");
ll_empty.setBackgroundColor(getResources().getColor(R.color.big_bg));
ptrLv.getRefreshableView().setOnItemClickListener(this);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ptrLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
page = 1;
newSystemMessageActivity.initMessage();
initMessage("1",page+"");
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
newSystemMessageActivity.initMessage();
initMessage("1",page+"");
}
});
ptrLv.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
switch (i)
{
case SCROLL_STATE_IDLE:
if(t<2)
{
fadeIn(newSystemMessageActivity.tab);
fadeOut(newSystemMessageActivity.tab1);
}
else
{
newSystemMessageActivity.im_bg.setVisibility(View.GONE);
fadeIn(newSystemMessageActivity.tab1);
fadeOut(newSystemMessageActivity.tab);
}
break;
}
}
@Override
public void onScroll(AbsListView absListView, int t0, int t1, int i2) {
t=t0;
}
});
initMessage("1",1+"");
return view;
}
int t;
public void fadeIn( View view) {
if (view.getVisibility() == View.VISIBLE) {
return;
}
Animation animation = new AlphaAnimation(0F, 1F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setEnabled(true);
if(view.equals( newSystemMessageActivity.tab))
{
newSystemMessageActivity.im_bg.setVisibility(View.VISIBLE);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
view.setVisibility(View.VISIBLE);
}
public void fadeOut( View view) {
if (view.getVisibility() != View.VISIBLE) {
return;
}
// Since the button is still clickable before fade-out animation
// ends, we disable the button first to block click.
view.setEnabled(false);
Animation animation = new AlphaAnimation(1F, 0F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
}
public void initMessage(String module, String page)
{
showLoadingProgress();
Map<String,String> map=new HashMap<>();
map.put("module",module);
map.put("page",page);
sendJsonPostParamtoNetSignMD5(appMesageList,map,101,this);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
// goActivity(messageBeans.getData().getList().get(i-1).getExtra().getType(), null);
data.get(i-1).setIs_read("1");
messageAdapter.notifyDataSetChanged();
if(newSystemMessageActivity==null)
return;
newSystemMessageActivity.goActivity(data.get(i-1).getExtra().getType(),data.get(i-1),0);
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode)
{
case 101:
closeProgressDialog();
messageBeans = GsonTools.fromGsonToBean(resultJson, MessageBean.class);
if ("200".equals(messageBeans.getCode())) {
if (page == 1) {
data.clear();
if (messageBeans.getData() == null || messageBeans.getData().getList().size() == 0) {
// 显示空布局
ptrLv.setEmptyView(ll_empty);
// 完成刷新
ptrLv.onRefreshComplete();
return;
} else {
data.addAll(messageBeans.getData().getList());
}
} else {
data.addAll(messageBeans.getData().getList());
}
if (messageAdapter == null) {
messageAdapter = new MessageAdapter(data);
ptrLv.getRefreshableView().setAdapter(messageAdapter);
} else {
messageAdapter.notifyDataSetChanged();
}
ptrLv.onRefreshComplete();
if (page > 1) {
// 是否有更多
if (messageBeans.getData()== null || messageBeans.getData().getList().size() == 0) {// 由于暂时虚构没数据,所以加载更多也没数据
ToastUtil.showMessage("没有更多了");
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
if (page > 1)
page--;
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else if (page == 1) {
// 得到总页码数
int totalPage = messageBeans.getData().getPageSize();
if (totalPage <= 1 || totalPage < page) {
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
String text = CommonUtil.getStringDate();
ptrLv.getLoadingLayoutProxy().setLastUpdatedLabel(text);
} else {
ToastUtil.showToast(messageBeans.getMessage() + "");
}
break;
}
}
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if(!hidden)
{
initMessage("1",page+"");
}
}
}
@@ -0,0 +1,857 @@
package cn.shangyu.gdxzExpert.big.fragment;
import static cn.shangyu.gdxzExpert.fragment.HomeNewFragment.GETHOMEMODAL;
import static cn.shangyu.gdxzExpert.utils.CommonUtil.IS_BIG_MUDULE;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_EXIT_BIGVERSION;
import static cn.shangyu.gdxzExpert.utils.Url.getapplyList;
import static cn.shangyu.gdxzExpert.utils.Url.unReadList;
import static cn.shangyu.gdxzExpert.utils.Url.urlHtml;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.google.gson.Gson;
import com.gyf.immersionbar.ImmersionBar;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.HttpHandler;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.Observer;
import com.netease.nimlib.sdk.RequestCallbackWrapper;
import com.netease.nimlib.sdk.ResponseCode;
import com.netease.nimlib.sdk.msg.MsgService;
import com.netease.nimlib.sdk.msg.MsgServiceObserve;
import com.netease.nimlib.sdk.msg.SystemMessageObserver;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.netease.nimlib.sdk.msg.model.RecentContact;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.umeng.analytics.MobclickAgent;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.LoginNewActivity;
import cn.shangyu.gdxzExpert.activity.MainActivity;
import cn.shangyu.gdxzExpert.activity.MyDetailInfoActivity;
import cn.shangyu.gdxzExpert.activity.MyPatientActivity;
import cn.shangyu.gdxzExpert.activity.NewsDetailActivity;
import cn.shangyu.gdxzExpert.activity.PublicConsultationActivity;
import cn.shangyu.gdxzExpert.base.BaseFragment;
import cn.shangyu.gdxzExpert.bean.GetAppActivityBean;
import cn.shangyu.gdxzExpert.bean.HomeBean;
import cn.shangyu.gdxzExpert.bean.HomeModalBean;
import cn.shangyu.gdxzExpert.bean.MessageNumBean;
import cn.shangyu.gdxzExpert.bean.PatientListBean;
import cn.shangyu.gdxzExpert.big.activity.BigCoursewareActivity;
import cn.shangyu.gdxzExpert.big.activity.BigMettingActivity;
import cn.shangyu.gdxzExpert.big.activity.BigMyLibraryActivity;
import cn.shangyu.gdxzExpert.big.activity.BigNewSystemMessageActivity;
import cn.shangyu.gdxzExpert.big.activity.BigPublicSearchActivity;
import cn.shangyu.gdxzExpert.big.activity.BigToolActivity;
import cn.shangyu.gdxzExpert.big.activity.BigVideoActivity;
import cn.shangyu.gdxzExpert.ecdemo.storage.PatientSqlManager;
import cn.shangyu.gdxzExpert.ecdemo.ui.SDKCoreHelper;
import cn.shangyu.gdxzExpert.http.HttpHelper;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.netease.main.ReminderItem;
import cn.shangyu.gdxzExpert.netease.main.ReminderManager;
import cn.shangyu.gdxzExpert.utils.Constant;
import cn.shangyu.gdxzExpert.utils.GrayManager;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.ImageOptions;
import cn.shangyu.gdxzExpert.utils.LogUtil;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
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.widget.LoadingPage;
/**
* A simple {@link Fragment} subclass.
* Use the {@link BigHomeFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class BigHomeFragment extends BaseFragment implements OnCallBackFromNet, View.OnClickListener {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private View view;
View big_top_bar;
private HomeBean homeBean;
private MessageNumBean messageNumBean;
public BigHomeFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment BigHomeFragment.
*/
// TODO: Rename and change types and number of parameters
public static BigHomeFragment newInstance(String param1, String param2) {
BigHomeFragment fragment = new BigHomeFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
TextView doctor_name;
ImageView pic;
ImageView badgeSysMsg;
LinearLayout l_message,l_change;
TextView tv_top_search;
RelativeLayout big_p,big_g;
TextView big_v,big_c,big_z,big_t,big_b;
private ImageView home_modal,close_modal,home_modal_1;
public static Boolean ismodalshow =false;
public static Boolean ismodalshownow =false;
ImageView iv_red,iv_red1;
Boolean isfirst=true;
@Override
public View onCreateSuccessedView() {
if (view == null)
view = UIUtils.inflate(R.layout.fragment_big_home);
big_top_bar=view.findViewById(R.id.big_top_bar);
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(big_top_bar).init();
ll_loading = view.findViewById(R.id.ll_loading);
ll_load_progress = view.findViewById(R.id.ll_load_progress);
tv_load_fail = view.findViewById(R.id.tv_load_fail);
doctor_name=view.findViewById(R.id.doctor_name);
pic=view.findViewById(R.id.pic);
iv_red=view.findViewById(R.id.iv_red);
iv_red1=view.findViewById(R.id.iv_red1);
l_message=view.findViewById(R.id.l_message);
badgeSysMsg=view.findViewById(R.id.badgeSysMsg);
if (SharePrefUtil.getBoolean(getActivity(), "isHaveSysMsg", false)) {
// badgeSysMsg.show();
badgeSysMsg.setVisibility(View.VISIBLE);
} else {
// badgeSysMsg.hide();
badgeSysMsg.setVisibility(View.GONE);
}
l_message.setOnClickListener(this);
big_g=view.findViewById(R.id.big_g1);
big_g.setOnClickListener(this);
big_v=view.findViewById(R.id.big_v);
big_v.setOnClickListener(this);
big_c=view.findViewById(R.id.big_c);
big_c.setOnClickListener(this);
big_z=view.findViewById(R.id.big_z);
big_z.setOnClickListener(this);
if(SharePrefUtil.getBoolean(getActivity(), Constant.ShowMagazine,true))
{
big_z.setVisibility(View.VISIBLE);
view.findViewById(R.id.big_zv1).setVisibility(View.VISIBLE);
}
else
{
big_z.setVisibility(View.GONE);
view.findViewById(R.id.big_zv1).setVisibility(View.GONE);
}
big_t=view.findViewById(R.id.big_t);
big_t.setOnClickListener(this);
big_b=view.findViewById(R.id.big_b);
big_b.setOnClickListener(this);
big_p=view.findViewById(R.id.big_p1);
big_p.setOnClickListener(this);
tv_top_search=view.findViewById(R.id.tv_top_search);
tv_top_search.setOnClickListener(this);
l_change=view.findViewById(R.id.l_change);
l_change.setOnClickListener(this);
big_top_bar.setOnClickListener(this);
home_modal =view.findViewById(R.id.home_modal);
close_modal =view.findViewById(R.id.close_modal);
home_modal_1=view.findViewById(R.id.home_modal_1);
home_modal.setOnClickListener(this);
close_modal.setOnClickListener(this);
// if(!needshowGuideView())
// {
getHomeData();
// }
getHomeModal();
getNewPatientList();
getZengshuInfo();
registerMsgUnreadInfoObserver(true);
registerSystemMessageObservers(true);
registerObservers(true);
isfirst=true;
return view;
}
public static final int GETAPPACTIVITY= 200;
//福利赠书
private void getZengshuInfo() {
Map<String,String> map = new HashMap<>();
map.put("id","6");
sendJsonPostParamtoNetSignMD5(Url.getAppActivity,map,GETAPPACTIVITY,this);
}
@Override
public void onResume() {
super.onResume();
if(!isfirst)
{
getHomeData();
getNewPatientList();
}
isfirst=false;
}
/**
* 注册/注销系统消息未读数变化
*/
private void registerSystemMessageObservers(boolean register) {
NIMClient.getService(SystemMessageObserver.class).observeUnreadCountChange(
sysMsgUnreadCountChangedObserver, register);
}
private Observer<Integer> sysMsgUnreadCountChangedObserver = (Observer<Integer>) unreadCount -> {
showRedUnCount();
};
private void registerMsgUnreadInfoObserver(boolean register) {
if (register) {
ReminderManager.getInstance().registerUnreadNumChangedCallback(new ReminderManager.UnreadNumChangedCallback(){
@Override
public void onUnreadNumChanged(ReminderItem item) {
showRedUnCount();
}
});
} else {
ReminderManager.getInstance().registerUnreadNumChangedCallback(new ReminderManager.UnreadNumChangedCallback(){
@Override
public void onUnreadNumChanged(ReminderItem item) {
}
});
}
}
private int patientCount = 0;
private int consultCount = 0;
public void showRedUnCount()
{
patientCount =NIMClient.getService(MsgService.class).getTotalUnreadCount();
consultCount =0;
NIMClient.getService(MsgService.class).queryRecentContacts()
.setCallback(new RequestCallbackWrapper<List<RecentContact>>() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onResult(int code, List<RecentContact> recents, Throwable e) {
// recents参数即为最近联系人列表(最近会话列表)
if (code != ResponseCode.RES_SUCCESS || recents == null) {
}
else
{
Iterator<RecentContact> it = recents.iterator();
while (it.hasNext()) {
RecentContact loadedRecent = it.next();
if(loadedRecent.getUnreadCount()>0)
{
if (!PatientSqlManager.isPatient(Constant.Patient_AppKey + loadedRecent.getContactId()))
{
consultCount = loadedRecent.getUnreadCount();
patientCount=patientCount-loadedRecent.getUnreadCount();
}
}
}
}
if (patientCount < 1) {
showRead("我的患者",false,false);
} else {
showRead("我的患者",true,false);
}
if (consultCount<1) {
showRead("公益咨询",false,true);
} else {
showRead("公益咨询",true,true);
}
}
});
}
/**
* 请求网络,获取患者申请的列表 getNewPatientList ssy
*
*
*/
private void getNewPatientList() {
String uuid = SharePrefUtil.getString(mActivity, Constant.uuid, "");
RequestParams params = new RequestParams();
params.addBodyParameter("expertUuid", uuid);
HttpHandler<String> httpHandlerNewPatient = HttpHelper.loadData(
HttpRequest.HttpMethod.POST, getapplyList, params,
new RequestCallBack<String>() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onSuccess(ResponseInfo<String> info) {
processData(info.result);
}
@Override
public void onFailure(HttpException arg0, String arg1) {
}
});
}
/**
* 解析并处理数据
*
* @param result
*/
private void processData(String result) {
PatientListBean bean = GsonTools.fromGsonToBean(result,
PatientListBean.class);
int count = 0;
if(bean!=null&&bean.data!=null)
{
for (int i = 0; i < bean.data.size(); i++) {
// 判断状态是否是待审核,加入待审核到list,其他的不显示
if (1 == bean.data.get(i).status) {
count++;
}
}
}
if(count>0)
{
showRead("我的患者",true,true);
}
else
{
showRead("我的患者",false,true);
}
}
private void registerObservers(boolean register)
{
MsgServiceObserve service = NIMClient.getService(MsgServiceObserve.class);
service.observeReceiveMessage(messageReceiverObserver, register);
service.observeRecentContact(messageObserver, register);
}
private Observer<List<IMMessage>> messageReceiverObserver = new Observer<List<IMMessage>>() {
@Override
public void onEvent(List<IMMessage> imMessages) {
showRedUnCount();
}
};
Observer<List<RecentContact>> messageObserver = new Observer<List<RecentContact>>() {
@Override
public void onEvent(List<RecentContact> recentContacts) {
showRedUnCount();
}
};
/**
* 初始四个状态分别为false
* 不分先后顺序
* 是否有患者申请
* 患者是否发消息
* 是否有新的公益咨询
* 公益咨询是否有新消息
*/
private Boolean Status1=false;
private Boolean Status2=false;
private Boolean Status3=false;
private Boolean Status4=false;
/**
*
*
* @param name
* @param
*/
private void showRead(String name,Boolean condition,Boolean need2control)
{
if("我的患者".equals(name))
{
if(condition)
{
if(need2control)
{
Status1=true;
}
else
{
Status2=true;
}
iv_red.setVisibility(View.VISIBLE);
}
else
{
if(need2control)
{
Status1=false;
}
else
{
Status2=false;
}
if(!Status1&&!Status2)
{
iv_red.setVisibility(View.GONE);
}
}
}else if("公益咨询".equals(name))
{
if(condition)
{
if(need2control)
{
Status3=true;
}
else
{
Status4=true;
}
iv_red1.setVisibility(View.VISIBLE);
}
else
{
if(need2control)
{
Status3=false;
}
else
{
Status4=false;
}
if(!Status3&&!Status4)
{
iv_red1.setVisibility(View.GONE);
}
}
}
}
/**
* 获取动态弹框,如年终总结
*/
private void getHomeModal() {
Map<String,String> map = new HashMap<>();
sendJsonPostParamtoNetSignMD5(Url.homeModalurl,map,GETHOMEMODAL,this);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
/**
* 获取新首页数据
*/
private void initData()
{
// 从sp文件里取出资料
String realName = SharePrefUtil.getString(mActivity, "realName", "");
// doctor_name.setText("麦麦提图尔洪·阿不都茹苏力麦麦提图尔洪·阿不都茹苏力麦麦提图尔洪·阿不都茹苏力麦麦提图尔洪·阿不都茹苏力麦麦提图尔洪·阿不都茹苏力麦麦提图尔洪·阿不都茹苏力");
if(doctor_name==null)
return;
if(realName.length()>5)
{
doctor_name.setText(realName);
}
else
{
doctor_name.setText(realName+"专家工作室");
}
String photo = SharePrefUtil.getString(mActivity, "photo", null);
// Log.d("gdxzbig",photo);
if (photo != null && !"null".equals(photo)) {
ImageLoader
.getInstance()
.displayImage(
Url.urlHtml + photo,
pic,
ImageOptions
.getImageOptions(R.drawable.icon_touxiang_persion_gray_big));
}
}
private void getHomeData() {
initData();
Map<String,String> map = new HashMap<>();
sendJsonPostParamtoNetSignMD5(unReadList,map,112,this);
sendJsonPostParamtoNetSignMD5(Url.myHomeNew,map,111,this);
}
@Override
public void onCallbackFromThread(String resultJson) {
}
private HomeModalBean homeModalBean;
private int form;//赠书活动,1:1web_view 2原生弹框
private String url_path;//赠书活动内容接口
private String zengshuName;
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode) {
case GETAPPACTIVITY:
LogUtil.i("GETAPPACTIVITY = "+resultJson);
GetAppActivityBean bean1 = GsonTools.fromGsonToBean(resultJson, GetAppActivityBean.class);
GetAppActivityBean.DataBean data = bean1.getData();
if (data!=null&&"200".equals(bean1.getCode())){
form = data.getForm();
url_path = data.getUrl_path();
zengshuName = data.getName();
Constant.from = form;
Constant.url_path = url_path;
Constant.zengshuName = zengshuName;
Constant.Img = data.getImg();
}
break;
case GETHOMEMODAL:
Gson gson1=new Gson();
homeModalBean=gson1.fromJson(resultJson, HomeModalBean.class);
if(homeModalBean!=null)
{
if(homeModalBean.getData()!=null)
{
if(!StringUtil.isEmpty(homeModalBean.getData().getImg()))
{
ImageLoader
.getInstance()
.displayImage(
urlHtml+homeModalBean.getData().getImg(),
home_modal,
ImageOptions
.getImageOptions(R.drawable.img_gandan_house));
if(!ismodalshownow)
{
close_modal.setVisibility(View.VISIBLE);
home_modal.setVisibility(View.VISIBLE);
home_modal_1.setVisibility(View.VISIBLE);
ismodalshow=true;
ismodalshownow=true;
home_modal_1.setClickable(true);
}
else
{
ismodalshow=false;
}
}
}
}
break;
case 112:
messageNumBean= GsonTools.fromGsonToBean(resultJson, MessageNumBean.class);
if("200".equals(messageNumBean.getCode()))
{
if(messageNumBean.getData()!=null)
{
if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Welfare())&&Integer.valueOf(messageNumBean.getData().getModule_Welfare())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Order())&&Integer.valueOf(messageNumBean.getData().getModule_Order())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Relation())&&Integer.valueOf(messageNumBean.getData().getModule_Relation())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Comment())&&Integer.valueOf(messageNumBean.getData().getModule_Comment())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", false);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.GONE);
// badgeSysMsg.hide();
}
}
}
break;
case 111:
homeBean = GsonTools.fromGsonToBean(resultJson, HomeBean.class);
if ("200".equals(homeBean.getCode())) {
if (homeBean.getData() != null) {
if (homeBean.getData().getExpertDetail() == null) {
handleLogout(false);
return;
}
if(homeBean.getData().getConsult_list()!=null&&
!StringUtil.isEmpty(homeBean.getData().getConsult_list().getCount()))
{
if(Integer.valueOf(homeBean.getData().getConsult_list().getCount())>0)
{
showRead("公益咨询",true,false);
}
else
{
showRead("公益咨询",false,false);
}
}
//本地广播
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(getActivity());
Intent intent = new Intent("LOCAL_ACTION1");
intent.putExtra("issign", homeBean.getData().getSign_in());
//发送本地广播
localBroadcastManager.sendBroadcast(intent);
}
else
{
handleLogout(false);
ToastUtil.showToast(homeBean.getMessage());
}
break;
}
else
{
handleLogout(false);
ToastUtil.showToast(homeBean.getMessage());
}
isfirst=false;
break;
}
}
private void handleLogout(boolean isNotice) {
ToastUtil.showMessage("专家账号信息为空");
showProgressDialog(getString(R.string.posting_logout));
/**
* 需要在此判断专家是否登陆,信息是否完整
*
* */
startActivity(new Intent(getContext(), LoginNewActivity.class));
try {
SDKCoreHelper.logout(isNotice);
} catch (Exception e) {
}
}
public void changeBig()
{
LayoutInflater inflater = LayoutInflater.from(getActivity());
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_new_big, null);
AlertDialog dialog3 = new AlertDialog.Builder(
getActivity(),AlertDialog.THEME_HOLO_LIGHT).create();
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
dialog3.show();
Window window =dialog3.getWindow();
// window.setGravity(Gravity.CENTER);
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(layoutParams);
dialog3.getWindow().setContentView(layout);
GrayManager.getInstance().setLayerGrayType(dialog3.getWindow().getDecorView());
dialog3.setCanceledOnTouchOutside(false);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog3.dismiss();
}
});
btn_sure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MobclickAgent.onEvent(getActivity(),EXPERT_EXIT_BIGVERSION);
SharePrefUtil.saveBoolean(UIUtils.getContext(),IS_BIG_MUDULE,false);
startActivity(new Intent(getActivity(), MainActivity.class));
getActivity().finish();
dialog3.dismiss();
}
});
}
@Override
public void onClick(View view) {
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
int id = view.getId();
if (id == R.id.close_modal) {
close_modal.setVisibility(View.GONE);
home_modal.setVisibility(View.GONE);
home_modal_1.setVisibility(View.GONE);
ismodalshow=false;
} else if (id == R.id.home_modal) {
close_modal.setVisibility(View.GONE);
home_modal.setVisibility(View.GONE);
home_modal_1.setVisibility(View.GONE);
ismodalshow=false;
if(homeModalBean!=null&&homeModalBean.getData()!=null&&homeModalBean.getData().getUrl_path()!=null)
{
Intent broadc = new Intent(mActivity, NewsDetailActivity.class);
if(homeModalBean.getData().getUrl_path().contains("?"))
{
broadc.putExtra("url",homeModalBean.getData().getUrl_path()+"&user_uuid="+SharePrefUtil.getString(mActivity, Constant.uuid,""));
}
else
{
broadc.putExtra("url",homeModalBean.getData().getUrl_path()+"?&user_uuid="+SharePrefUtil.getString(mActivity, Constant.uuid,""));
}
if(homeModalBean.getData().getName().contains("{{name}}")||homeModalBean.getData().getNote().contains("{{name}}"))
{
broadc.putExtra("newsTitle",homeModalBean.getData().getName().replace("{{name}}",SharePrefUtil.getString(mActivity,Constant.realName,"")));
broadc.putExtra("summary",homeModalBean.getData().getNote().replace("{{name}}",SharePrefUtil.getString(mActivity,Constant.realName,"")));
}
else
{
broadc.putExtra("newsTitle",homeModalBean.getData().getName());
broadc.putExtra("summary",homeModalBean.getData().getNote());
}
broadc.putExtra("title","肝胆相照");
broadc.putExtra("homemodal","yes");
broadc.putExtra("flag", 1);
startActivity(broadc);
}
} else if (id == R.id.l_message) {
startActivity(new Intent(getActivity(), BigNewSystemMessageActivity.class));
} else if (id == R.id.tv_top_search) {
Intent intentv = new Intent(getActivity(), BigPublicSearchActivity.class);
intentv.setType("video");
startActivity(intentv);
} else if (id == R.id.l_change) {
changeBig();
} else if (id == R.id.big_top_bar) {
startActivity(new Intent(mActivity, MyDetailInfoActivity.class));
} else if (id == R.id.big_p1) {
startActivity(new Intent(mActivity, MyPatientActivity.class));
} else if (id == R.id.big_g1) {
startActivity(new Intent(mActivity, PublicConsultationActivity.class));
} else if (id == R.id.big_v) {
startActivity(new Intent(mActivity, BigVideoActivity.class));
} else if (id == R.id.big_c) {
startActivity(new Intent(mActivity, BigCoursewareActivity.class));
} else if (id == R.id.big_z) {
startActivity(new Intent(mActivity, BigMyLibraryActivity.class));
} else if (id == R.id.big_t) {
startActivity(new Intent(mActivity, BigToolActivity.class));
} else if (id == R.id.big_b) {
startActivity(new Intent(mActivity, BigMettingActivity.class));
}
}
@Override
public void onDestroy() {
super.onDestroy();
registerMsgUnreadInfoObserver(false);
registerSystemMessageObservers(false);
registerObservers(false);
}
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if(!hidden)
{
getHomeData();
getNewPatientList();
}
}
}
@@ -0,0 +1,388 @@
package cn.shangyu.gdxzExpert.big.fragment;
import android.graphics.Color;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import com.nostra13.universalimageloader.core.ImageLoader;
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.base.BaseFragment;
import cn.shangyu.gdxzExpert.bean.MessageBean;
import cn.shangyu.gdxzExpert.big.activity.BigNewSystemMessageActivity;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.utils.Url;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import static cn.shangyu.gdxzExpert.utils.Url.appMesageList;
/**
* A simple {@link Fragment} subclass.
* Use the {@link BigHuiMessageFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class BigHuiMessageFragment extends BaseFragment implements AdapterView.OnItemClickListener, OnCallBackFromNet {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private View view;
public BigHuiMessageFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment HuiMessageFragment.
*/
// TODO: Rename and change types and number of parameters
public static BigHuiMessageFragment newInstance(String param1, String param2) {
BigHuiMessageFragment fragment = new BigHuiMessageFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// if (getArguments() != null) {
// mParam1 = getArguments().getString(ARG_PARAM1);
// mParam2 = getArguments().getString(ARG_PARAM2);
// }
// }
//
// @Override
// public View onCreateView(LayoutInflater inflater, ViewGroup container,
// Bundle savedInstanceState) {
// // Inflate the layout for this fragment
// return inflater.inflate(R.layout.fragment_hui_message, container, false);
// }
PullToRefreshListView ptrLv;
public View ll_empty;
public int page = 1;
MessageAdapter messageAdapter;
List<MessageBean.BeanData.DetailBean> data=new ArrayList<>();
MessageBean messageBeans;
private BigNewSystemMessageActivity newSystemMessageActivity;
@Override
public View onCreateSuccessedView() {
newSystemMessageActivity= (BigNewSystemMessageActivity) getActivity();
if(view==null)
view = UIUtils.inflate(R.layout.fragment_hui_message);
ptrLv = view. findViewById(R.id.lv_item_c);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ll_empty=view.findViewById(R.id.ll_empty);
TextView tv_empty_msg=view.findViewById(R.id.tv_empty_msg);
tv_empty_msg.setText("暂时还没有收到回复通知哦");
ll_empty.setBackgroundColor(getResources().getColor(R.color.big_bg));
ptrLv.getRefreshableView().setOnItemClickListener(this);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ptrLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
page = 1;
newSystemMessageActivity.initMessage();
initMessage("4",page+"");
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
newSystemMessageActivity.initMessage();
initMessage("4",page+"");
}
});
ptrLv.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
switch (i)
{
case SCROLL_STATE_IDLE:
if(t<1)
{
fadeIn(newSystemMessageActivity.tab);
fadeOut(newSystemMessageActivity.tab1);
}
else
{
newSystemMessageActivity.im_bg.setVisibility(View.GONE);
fadeIn(newSystemMessageActivity.tab1);
fadeOut(newSystemMessageActivity.tab);
}
break;
}
}
@Override
public void onScroll(AbsListView absListView, int t0, int t1, int i2) {
t=t0;
}
});
initMessage("4",page+"");
return view;
}
int t;
public void fadeIn( View view) {
if (view.getVisibility() == View.VISIBLE) {
return;
}
Animation animation = new AlphaAnimation(0F, 1F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setEnabled(true);
if(view.equals( newSystemMessageActivity.tab))
{
newSystemMessageActivity.im_bg.setVisibility(View.VISIBLE);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
view.setVisibility(View.VISIBLE);
}
public void fadeOut( View view) {
if (view.getVisibility() != View.VISIBLE) {
return;
}
// Since the button is still clickable before fade-out animation
// ends, we disable the button first to block click.
view.setEnabled(false);
Animation animation = new AlphaAnimation(1F, 0F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
}
public void initMessage(String module, String page)
{
showLoadingProgress();
Map<String,String> map=new HashMap<>();
map.put("module",module);
map.put("page",page);
sendJsonPostParamtoNetSignMD5(appMesageList,map,101,this);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
data.get(i-1).setIs_read("1");
messageAdapter.notifyDataSetChanged();
if(newSystemMessageActivity==null)
return;
newSystemMessageActivity.goActivity(data.get(i-1).getExtra().getType(),data.get(i-1),3);
// goActivity(messageBeans.getData().getList().get(i-1).getExtra().getType(), null); goActivity(messageBeans.getData().getList().get(i).getExtra().getType(), null);
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode)
{
case 101:
closeProgressDialog();
messageBeans = GsonTools.fromGsonToBean(resultJson, MessageBean.class);
if ("200".equals(messageBeans.getCode())) {
if (page == 1) {
data.clear();
if (messageBeans.getData() == null || messageBeans.getData().getList().size() == 0) {
// 显示空布局
ptrLv.setEmptyView(ll_empty);
// 完成刷新
ptrLv.onRefreshComplete();
return;
} else {
data.addAll(messageBeans.getData().getList());
}
} else {
data.addAll(messageBeans.getData().getList());
}
if (messageAdapter == null) {
messageAdapter = new MessageAdapter(data);
ptrLv.getRefreshableView().setAdapter(messageAdapter);
} else {
messageAdapter.notifyDataSetChanged();
}
ptrLv.onRefreshComplete();
if (page > 1) {
// 是否有更多
if (messageBeans.getData()== null || messageBeans.getData().getList().size() == 0) {// 由于暂时虚构没数据,所以加载更多也没数据
ToastUtil.showMessage("没有更多了");
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
if (page > 1)
page--;
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else if (page == 1) {
// 得到总页码数
int totalPage = messageBeans.getData().getPageSize();
if (totalPage <= 1 || totalPage < page) {
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
String text = CommonUtil.getStringDate();
ptrLv.getLoadingLayoutProxy().setLastUpdatedLabel(text);
} else {
ToastUtil.showToast(messageBeans.getMessage() + "");
}
break;
}
}
public class MessageAdapter extends BaseAdapter
{
private List<MessageBean.BeanData.DetailBean> list;
public MessageAdapter(List<MessageBean.BeanData.DetailBean> messageBeans) {
list=messageBeans;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder viewHolder;
if (view == null) {
viewHolder = new ViewHolder();
view = UIUtils.inflate(R.layout.message_back_item_big);
viewHolder.tv_time = view.findViewById(R.id.tv_time);
viewHolder. tv_title = view.findViewById(R.id.tv_title);
viewHolder. tv_content = view.findViewById(R.id.tv_content);
viewHolder.im_head=view.findViewById(R.id.im_head);
view.setTag(viewHolder);
}else {
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.tv_time.setText(list.get(i).getCreate_date());
viewHolder. tv_title.setText(list.get(i).getExtra().getUser_name());
viewHolder. tv_content.setText(list.get(i).getContent());
if("1".equals(list.get(i).getIs_read()))
{
viewHolder. tv_title.setTextColor(Color.parseColor("#333333"));
}
else
{
viewHolder. tv_title.setTextColor(Color.parseColor("#EB322D"));
}
if (!TextUtils.isEmpty(list.get(i).getExtra().getUser_photo())) {
ImageLoader.getInstance().displayImage(
Url.urlHtml + list.get(i).getExtra().getUser_photo(), viewHolder.im_head);
}
return view;
}
public class ViewHolder{
TextView tv_time,tv_title,tv_content;
ImageView im_head;
}
}
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if(!hidden)
{
initMessage("4",page+"");
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,316 @@
package cn.shangyu.gdxzExpert.big.fragment;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
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.MessageAdapter;
import cn.shangyu.gdxzExpert.base.BaseFragment;
import cn.shangyu.gdxzExpert.bean.MessageBean;
import cn.shangyu.gdxzExpert.big.activity.BigNewSystemMessageActivity;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import static cn.shangyu.gdxzExpert.utils.Url.appMesageList;
/**
* A simple {@link Fragment} subclass.
* Use the {@link BigOrderMessageFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class BigOrderMessageFragment extends BaseFragment implements OnCallBackFromNet, AdapterView.OnItemClickListener {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private View view;
PullToRefreshListView ptrLv;
public View ll_empty;
public int page = 1;
MessageAdapter messageAdapter;
List<MessageBean.BeanData.DetailBean> data=new ArrayList<>();
MessageBean messageBeans;
public BigOrderMessageFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment OrderMessageFragment.
*/
// TODO: Rename and change types and number of parameters
public static BigOrderMessageFragment newInstance(String param1, String param2) {
BigOrderMessageFragment fragment = new BigOrderMessageFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// if (getArguments() != null) {
// mParam1 = getArguments().getString(ARG_PARAM1);
// mParam2 = getArguments().getString(ARG_PARAM2);
// }
// }
//
// @Override
// public View onCreateView(LayoutInflater inflater, ViewGroup container,
// Bundle savedInstanceState) {
// // Inflate the layout for this fragment
// return inflater.inflate(R.layout.fragment_order_message, container, false);
// }
private BigNewSystemMessageActivity newSystemMessageActivity;
@Override
public View onCreateSuccessedView() {
newSystemMessageActivity= (BigNewSystemMessageActivity) getActivity();
if(view==null)
view = UIUtils.inflate(R.layout.fragment_order_message);
ptrLv = view.findViewById(R.id.lv_item_c);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ll_empty = view.findViewById(R.id.ll_empty);
TextView tv_empty_msg = view.findViewById(R.id.tv_empty_msg);
tv_empty_msg.setText("暂时还没有收到订单通知哦");
ll_empty.setBackgroundColor(getResources().getColor(R.color.big_bg));
ptrLv.getRefreshableView().setOnItemClickListener(this);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ptrLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
page = 1;
newSystemMessageActivity.initMessage();
initMessage("2",page+"");
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
newSystemMessageActivity.initMessage();
initMessage("2",page+"");
}
});
ptrLv.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
switch (i)
{
case SCROLL_STATE_IDLE:
if(t<2)
{
fadeIn(newSystemMessageActivity.tab);
fadeOut(newSystemMessageActivity.tab1);
}
else
{
newSystemMessageActivity.im_bg.setVisibility(View.GONE);
fadeIn(newSystemMessageActivity.tab1);
fadeOut(newSystemMessageActivity.tab);
}
break;
}
}
@Override
public void onScroll(AbsListView absListView, int t0, int t1, int i2) {
t=t0;
}
});
initMessage("2",1+"");
return view;
}
int t;
public void fadeIn( View view) {
if (view.getVisibility() == View.VISIBLE) {
return;
}
Animation animation = new AlphaAnimation(0F, 1F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setEnabled(true);
if(view.equals( newSystemMessageActivity.tab))
{
newSystemMessageActivity.im_bg.setVisibility(View.VISIBLE);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
view.setVisibility(View.VISIBLE);
}
public void fadeOut( View view) {
if (view.getVisibility() != View.VISIBLE) {
return;
}
// Since the button is still clickable before fade-out animation
// ends, we disable the button first to block click.
view.setEnabled(false);
Animation animation = new AlphaAnimation(1F, 0F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
}
public void initMessage(String module, String page)
{
showLoadingProgress();
Map<String,String> map=new HashMap<>();
map.put("module",module);
map.put("page",page);
sendJsonPostParamtoNetSignMD5(appMesageList,map,101,this);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode)
{
case 101:
closeProgressDialog();
messageBeans = GsonTools.fromGsonToBean(resultJson, MessageBean.class);
if ("200".equals(messageBeans.getCode())) {
if (page == 1) {
data.clear();
if (messageBeans.getData() == null || messageBeans.getData().getList().size() == 0) {
// 显示空布局
ptrLv.setEmptyView(ll_empty);
// 完成刷新
ptrLv.onRefreshComplete();
return;
} else {
data.addAll(messageBeans.getData().getList());
}
} else {
data.addAll(messageBeans.getData().getList());
}
if (messageAdapter == null) {
messageAdapter = new MessageAdapter(data);
ptrLv.getRefreshableView().setAdapter(messageAdapter);
} else {
messageAdapter.notifyDataSetChanged();
}
ptrLv.onRefreshComplete();
if (page > 1) {
// 是否有更多
if (messageBeans.getData()== null || messageBeans.getData().getList().size() == 0) {// 由于暂时虚构没数据,所以加载更多也没数据
ToastUtil.showMessage("没有更多了");
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
if (page > 1)
page--;
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else if (page == 1) {
// 得到总页码数
int totalPage = messageBeans.getData().getPageSize();
if (totalPage <= 1 || totalPage < page) {
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
String text = CommonUtil.getStringDate();
ptrLv.getLoadingLayoutProxy().setLastUpdatedLabel(text);
} else {
ToastUtil.showToast(messageBeans.getMessage() + "");
}
break;
}
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
data.get(i-1).setIs_read("1");
messageAdapter.notifyDataSetChanged();
if(newSystemMessageActivity==null)
return;
newSystemMessageActivity.goActivity(data.get(i-1).getExtra().getType(),data.get(i-1),1);
}
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if(!hidden)
{
initMessage("2",page+"");
}
}
}
@@ -0,0 +1,580 @@
package cn.shangyu.gdxzExpert.big.fragment;
import static android.content.Context.MODE_PRIVATE;
import static cn.shangyu.gdxzExpert.utils.Url.unReadList;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.gongwen.marqueen.MarqueeFactory;
import com.gongwen.marqueen.MarqueeView;
import com.gongwen.marqueen.util.OnItemClickListener;
import com.gyf.immersionbar.ImmersionBar;
import com.nostra13.universalimageloader.core.ImageLoader;
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.activity.LoginNewActivity;
import cn.shangyu.gdxzExpert.activity.MyDetailInfoActivity;
import cn.shangyu.gdxzExpert.activity.ZhiBoActivity;
import cn.shangyu.gdxzExpert.adapter.OnRecyclerViewItemClickListener;
import cn.shangyu.gdxzExpert.base.BaseFragment;
import cn.shangyu.gdxzExpert.bean.HomeBean;
import cn.shangyu.gdxzExpert.bean.MessageNumBean;
import cn.shangyu.gdxzExpert.big.activity.BigCoursewareActivity;
import cn.shangyu.gdxzExpert.big.activity.BigMyLibraryActivity;
import cn.shangyu.gdxzExpert.big.activity.BigNewSystemMessageActivity;
import cn.shangyu.gdxzExpert.big.activity.BigVideoActivity;
import cn.shangyu.gdxzExpert.big.adapter.BigComplexViewMF;
import cn.shangyu.gdxzExpert.big.adapter.BigHuiAdapter;
import cn.shangyu.gdxzExpert.big.adapter.BigKejianAdapter;
import cn.shangyu.gdxzExpert.big.adapter.BigNormalItemView;
import cn.shangyu.gdxzExpert.ecdemo.storage.CoursewareBookDownloadSqlManager;
import cn.shangyu.gdxzExpert.ecdemo.ui.SDKCoreHelper;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.ImageOptions;
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
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.SpaceItemDecoration;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import me.majiajie.pagerbottomtabstrip.NavigationController;
import me.majiajie.pagerbottomtabstrip.PageNavigationView;
import me.majiajie.pagerbottomtabstrip.item.BaseTabItem;
import me.majiajie.pagerbottomtabstrip.listener.SimpleTabItemSelectedListener;
/**
* A simple {@link Fragment} subclass.
* Use the {@link BigRecommendFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class BigRecommendFragment extends BaseFragment implements OnCallBackFromNet, View.OnClickListener {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private View view;
View big_top_bar;
private HomeBean homeBean;
private MessageNumBean messageNumBean;
public BigRecommendFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment BigRecommendFragment.
*/
// TODO: Rename and change types and number of parameters
public static BigRecommendFragment newInstance(String param1, String param2) {
BigRecommendFragment fragment = new BigRecommendFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// if (getArguments() != null) {
// mParam1 = getArguments().getString(ARG_PARAM1);
// mParam2 = getArguments().getString(ARG_PARAM2);
// }
// }
TextView doctor_name;
ImageView pic;
// public BadgeView badgeSysMsg;
ImageView badgeSysMsg;
LinearLayout l_message;
RecyclerView recycler_jin,recycler_kejian;
PageNavigationView tab;
private NavigationController navigationController;
RelativeLayout r_huifang,r_kejian,more1,more3;
MarqueeView<RelativeLayout, HomeBean.MettingBean> marqueeView;//直播
@Override
public View onCreateSuccessedView() {
if (view == null)
view = UIUtils.inflate(R.layout.fragment_big_recommend);
big_top_bar=view.findViewById(R.id.big_top_bar);
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(big_top_bar).init();
doctor_name=view.findViewById(R.id.doctor_name);
pic=view.findViewById(R.id.pic);
marqueeView=view.findViewById(R.id.marqueeView);
l_message=view.findViewById(R.id.l_message);
badgeSysMsg=view.findViewById(R.id.badgeSysMsg);
// badgeSysMsg = new BadgeView(getActivity(), l_message);
// badgeSysMsg.setBackgroundResource(R.drawable.unreadwi_dot);
// badgeSysMsg.setBackgroundResource(R.drawable.unread_1dot);
// badgeSysMsg.setBadgeMargin(10, 10);
// badgeSysMsg.setBadgeMargin(20);
// if (SharePrefUtil.getBoolean(getActivity(), "isHaveSysMsg", false)) {
// badgeSysMsg.show();
// } else {
// badgeSysMsg.hide();
// }
if (SharePrefUtil.getBoolean(getActivity(), "isHaveSysMsg", false)) {
badgeSysMsg.setVisibility(View.VISIBLE);
} else {
badgeSysMsg.setVisibility(View.GONE);
}
l_message.setOnClickListener(this);
recycler_jin=view.findViewById(R.id.recycler_hui);
LinearLayoutManager linearLayoutManagerv = new LinearLayoutManager(getActivity());
linearLayoutManagerv.setOrientation(LinearLayoutManager.HORIZONTAL);
r_huifang=view.findViewById(R.id.r_huifang);
recycler_jin.setLayoutManager(linearLayoutManagerv);
//设置item间距,30dp
recycler_jin.addItemDecoration(new SpaceItemDecoration(10,0));
r_kejian=view.findViewById(R.id.r_kejian);
recycler_kejian=view.findViewById(R.id.recycler_kejian);
tab= view.findViewById(R.id.tab);
big_top_bar.setOnClickListener(this);
more1=view.findViewById(R.id.more1);
more1.setOnClickListener(this);
more3=view.findViewById(R.id.more3);
more3.setOnClickListener(this);
initKejian();
initData();
getHomeData();
isfirst=true;
return view;
}
Boolean isfirst=true;
@Override
public void onResume() {
super.onResume();
if(!isfirst)
{
getHomeData();
}
isfirst=false;
}
private void initKejian()
{
LinearLayoutManager linearLayoutManagerv1 = new LinearLayoutManager(getActivity());
linearLayoutManagerv1.setOrientation(LinearLayoutManager.VERTICAL);
recycler_kejian.setLayoutManager(linearLayoutManagerv1);
recycler_kejian.addItemDecoration(new SpaceItemDecoration(0,10));
//注意这里调用了custom()方法
navigationController = tab.custom()
.addItem(newItem("实用指南"))
.addItem(newItem("课件分享"))
.build();
navigationController.addSimpleTabItemSelectedListener(new SimpleTabItemSelectedListener() {
@Override
public void onSelected(int index, int old) {
// 选中时触发
if(index==0)
{
kejianlist.clear();
kejianlist.addAll(guide_ist);
kejianAdapter.setGuide(true);
}
else
{
kejianlist.clear();
kejianlist.addAll(gandanfile_list);
kejianAdapter.setGuide(false);
}
kejianAdapter.notifyDataSetChanged();
}
});
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
String ExpertUuid;
SQLiteDatabase db;
CoursewareBookDownloadSqlManager sq;
private void initData()
{
// 从sp文件里取出资料
String realName = SharePrefUtil.getString(mActivity, "realName", "");
if(realName.length()>5)
{
doctor_name.setText(realName);
}
else
{
doctor_name.setText(realName+"专家工作室");
}
// doctor_name.setText(realName+"专家工作室");
String photo = SharePrefUtil.getString(mActivity, "photo", null);
if (photo != null && !"null".equals(photo)) {
ImageLoader
.getInstance()
.displayImage(
Url.urlHtml + photo,
pic,
ImageOptions
.getImageOptions(R.drawable.icon_touxiang_persion_gray_big));
}
ExpertUuid = SharePrefUtil.getString(mActivity, "uuid", "");
if(getActivity()!=null)
{
db= getActivity().openOrCreateDatabase("courseware.db", MODE_PRIVATE, null);
sq = new CoursewareBookDownloadSqlManager(db);
}
}
//创建一个Item
private BaseTabItem newItem(String text){
BigNormalItemView normalItemView = new BigNormalItemView(getActivity());
normalItemView.initialize(text);
return normalItemView;
}
@RequiresApi(api = Build.VERSION_CODES.N)
private void initzhibo()
{
if(mettingBeans==null||mettingBeans.size()<1)
{
marqueeView.setVisibility(View.GONE);
return;
}
HomeBean.MettingBean mettingBeanicon=mettingBeans.stream()
.filter(customer -> "1".equals(customer.getState())||"2".equals(customer.getState()))
.findAny()
.orElse(null);
if(mettingBeanicon==null)
{
marqueeView.setVisibility(View.GONE);
return;
}
mettingBeansNew.clear();
Boolean hastoday=false;
for(HomeBean.MettingBean mettingBean :mettingBeans)
{
if("1".equals(mettingBean.getState())||"2".equals(mettingBean.getState()))
{
mettingBeansNew.add(mettingBean);//原来的逻辑
// if(hastoday)
// {
// if(isSameDay(new Date(Long.valueOf(mettingBean.getBegin_date_timestamp())),
// new Date(System.currentTimeMillis())))
// {
//
// mettingBeansNew.add(mettingBean);
// }
// }
// else
// {
// if(isSameDay(new Date(Long.valueOf(mettingBean.getBegin_date_timestamp())),
// new Date(System.currentTimeMillis())))
// {
// hastoday=true;
// mettingBeansNew.clear();
//
// }
// mettingBeansNew.add(mettingBean);
// }
}
}
marqueeView.setVisibility(View.VISIBLE);
MarqueeFactory<RelativeLayout, HomeBean.MettingBean> marqueeFactory = new BigComplexViewMF(getActivity());
// if(mettingBeansNew.size()==1)
// {
// mettingBeansNew.add(mettingBeans.get(0));
// }
marqueeFactory.setData(mettingBeansNew);
marqueeView.setOnItemClickListener(new OnItemClickListener<RelativeLayout, HomeBean.MettingBean>() {
@Override
public void onItemClickListener(RelativeLayout mView, HomeBean.MettingBean mData, int mPosition) {
Intent intent = new Intent(mActivity, ZhiBoActivity.class);
intent.putExtra("newsTitle", mData.getTitle());
intent.putExtra("url",mData.getLiveurl()) ;
intent.putExtra("summary", mData.getTitle());
intent.setType("zhibo");
startActivity(intent);
}
});
// marqueeView4.setInAndOutAnim(R.anim.in_top, R.anim.out_bottom);
marqueeView.setMarqueeFactory(marqueeFactory);
if(mettingBeansNew.size()>1)
{
marqueeView.startFlipping();
}
}
private void getHomeData() {
Map<String,String> map = new HashMap<>();
sendJsonPostParamtoNetSignMD5(unReadList,map,112,this);
// showProgressDialog("加载中");
sendJsonPostParamtoNetSignMD5(Url.myHomeNew,map,111,this);
}
@Override
public void onCallbackFromThread(String resultJson) {
}
List<HomeBean.MettingBean> mettingBeans=new ArrayList<>();
List<HomeBean.MettingBean> mettingBeansNew=new ArrayList<>();
private List<HomeBean.VideoBean> video_list;
List<HomeBean.GuideBean> kejianlist=new ArrayList<>();
List<HomeBean.GuideBean> guide_ist;
List<HomeBean.GuideBean> gandanfile_list;
BigHuiAdapter bigHuiAdapter;
BigKejianAdapter kejianAdapter;
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode) {
case 112:
messageNumBean= GsonTools.fromGsonToBean(resultJson, MessageNumBean.class);
if("200".equals(messageNumBean.getCode()))
{
if(messageNumBean.getData()!=null)
{
if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Welfare())&&Integer.valueOf(messageNumBean.getData().getModule_Welfare())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Order())&&Integer.valueOf(messageNumBean.getData().getModule_Order())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Relation())&&Integer.valueOf(messageNumBean.getData().getModule_Relation())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else if(!StringUtil.isEmpty(messageNumBean.getData().getModule_Comment())&&Integer.valueOf(messageNumBean.getData().getModule_Comment())>0)
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", true);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.VISIBLE);
// badgeSysMsg.show();
}
else
{
SharePrefUtil.saveBoolean(mActivity, "isHaveSysMsg", false);
if(badgeSysMsg!=null)
badgeSysMsg.setVisibility(View.GONE);
// badgeSysMsg.hide();
}
}
}
break;
case 111:
// closeProgressDialog();
if(getActivity()==null)
{
return;
}
homeBean = GsonTools.fromGsonToBean(resultJson, HomeBean.class);
if ("200".equals(homeBean.getCode())) {
if (homeBean.getData() != null) {
if (homeBean.getData().getExpertDetail() == null) {
handleLogout(false);
return;
}
mettingBeans.clear();
mettingBeans.addAll(homeBean.getData().getMeeting_list());
initzhibo();
video_list=homeBean.getData().getVideo_list();
if(video_list==null||video_list.size()<1)
{
r_huifang.setVisibility(View.GONE);
recycler_jin.setVisibility(View.GONE);
}
else
{
r_huifang.setVisibility(View.VISIBLE);
recycler_jin.setVisibility(View.VISIBLE);
}
if(bigHuiAdapter==null)
{
bigHuiAdapter=new BigHuiAdapter(getActivity(),video_list);
recycler_jin.setAdapter(bigHuiAdapter);
bigHuiAdapter.setOnItemClickListener(new OnRecyclerViewItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Intent intent = VideoDetailPolyvPlayerActivity.newIntent(mActivity, VideoDetailPolyvPlayerActivity.PlayMode.portrait,"");
intent.putExtra("startNow", false);
intent.putExtra("isVlmsOnline", false);
intent.putExtra("url", video_list.get(position).getPolyv_uuid());
intent.putExtra("uuid", video_list.get(position).getUuid());
intent.putExtra("note", video_list.get(position).getName());
intent.putExtra("title", video_list.get(position).getName());
intent.putExtra("readnum","");
intent.putExtra("imgpath", video_list.get(position).getImgpath());
intent.putExtra("public_name",video_list.get(position).getName());
startActivity(intent);
}
});
}
else
{
bigHuiAdapter.notifyDataSetChanged();
}
kejianlist.clear();
guide_ist=homeBean.getData().getGuide_ist();
gandanfile_list=homeBean.getData().getGandanfile_list();
if(navigationController!=null&&navigationController.getSelected()==0)
{
kejianlist.addAll(guide_ist);
}
else
{
kejianlist.addAll(gandanfile_list);
}
if(kejianlist!=null&&kejianlist.size()>0||
guide_ist!=null&&guide_ist.size()>0
||gandanfile_list!=null&&gandanfile_list.size()>0)
{
r_kejian.setVisibility(View.VISIBLE);
}
else
{
r_kejian.setVisibility(View.GONE);
}
if(kejianAdapter==null)
{
kejianAdapter=new BigKejianAdapter(getActivity(),kejianlist);
kejianAdapter.setGuide(true);
recycler_kejian.setAdapter(kejianAdapter);
}
else
{
kejianAdapter.notifyDataSetChanged();
}
}
else
{
handleLogout(false);
ToastUtil.showToast(homeBean.getMessage());
}
isfirst=false;
break;
}
}
}
private void handleLogout(boolean isNotice) {
ToastUtil.showMessage("专家账号信息为空");
showProgressDialog(getString(R.string.posting_logout));
/**
* 需要在此判断专家是否登陆,信息是否完整
*
* */
startActivity(new Intent(getContext(), LoginNewActivity.class));
try {
SDKCoreHelper.logout(isNotice);
} catch (Exception e) {
}
}
@Override
public void onClick(View view) {
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
int id = view.getId();
if (id == R.id.l_message) {
startActivity(new Intent(getActivity(), BigNewSystemMessageActivity.class));
} else if (id == R.id.big_top_bar) {
startActivity(new Intent(mActivity, MyDetailInfoActivity.class));
} else if (id == R.id.more1) {
Intent intent2 = new Intent(mActivity, BigVideoActivity.class);
startActivity(intent2);
} else if (id == R.id.more3) {
if(navigationController.getSelected()==0)
{
startActivity(new Intent(mActivity, BigMyLibraryActivity.class));
}
else
{
startActivity(new Intent(mActivity, BigCoursewareActivity.class));
}
}
}
@Override
public void onStop() {
super.onStop();
if(mettingBeansNew.size()>1)
{
marqueeView.stopFlipping();
}
}
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if(!hidden)
{
initData();
getHomeData();
}
else
{
if(mettingBeansNew.size()>1)
{
marqueeView.stopFlipping();
}
}
}
}
@@ -0,0 +1,327 @@
package cn.shangyu.gdxzExpert.big.fragment;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
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.MessageAdapter;
import cn.shangyu.gdxzExpert.base.BaseFragment;
import cn.shangyu.gdxzExpert.bean.MessageBean;
import cn.shangyu.gdxzExpert.big.activity.BigNewSystemMessageActivity;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
import static cn.shangyu.gdxzExpert.utils.Url.appMesageList;
/**
* A simple {@link Fragment} subclass.
* Use the {@link BigSuiMessageFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class BigSuiMessageFragment extends BaseFragment implements OnCallBackFromNet, AdapterView.OnItemClickListener {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private View view;
PullToRefreshListView ptrLv;
public View ll_empty;
public int page = 1;
MessageAdapter messageAdapter;
List<MessageBean.BeanData.DetailBean> data=new ArrayList<>();
MessageBean messageBeans;
private BigNewSystemMessageActivity newSystemMessageActivity;
public BigSuiMessageFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment SuiMessageFragment.
*/
// TODO: Rename and change types and number of parameters
public static BigSuiMessageFragment newInstance(String param1, String param2) {
BigSuiMessageFragment fragment = new BigSuiMessageFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// if (getArguments() != null) {
// mParam1 = getArguments().getString(ARG_PARAM1);
// mParam2 = getArguments().getString(ARG_PARAM2);
// }
// }
//
// @Override
// public View onCreateView(LayoutInflater inflater, ViewGroup container,
// Bundle savedInstanceState) {
// // Inflate the layout for this fragment
// return inflater.inflate(R.layout.fragment_sui_message, container, false);
// }
int t;
@Override
public View onCreateSuccessedView() {
newSystemMessageActivity= (BigNewSystemMessageActivity) getActivity();
if(view==null)
view = UIUtils.inflate(R.layout.fragment_sui_message);
ptrLv = view.findViewById(R.id.lv_item_c);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ll_empty = view.findViewById(R.id.ll_empty);
TextView tv_empty_msg = view.findViewById(R.id.tv_empty_msg);
tv_empty_msg.setText("暂时还没有收到随访通知哦");
ll_empty.setBackgroundColor(getResources().getColor(R.color.big_bg));
ptrLv.getRefreshableView().setOnItemClickListener(this);
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
ptrLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
page = 1;
newSystemMessageActivity.initMessage();
initMessage("3",page+"");
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
newSystemMessageActivity.initMessage();
initMessage("3",page+"");
}
});
ptrLv.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
switch (i)
{
case SCROLL_STATE_IDLE:
if(t<2)
{
fadeIn(newSystemMessageActivity.tab);
fadeOut(newSystemMessageActivity.tab1);
}
else
{
newSystemMessageActivity.im_bg.setVisibility(View.GONE);
fadeIn(newSystemMessageActivity.tab1);
fadeOut(newSystemMessageActivity.tab);
}
break;
}
}
@Override
public void onScroll(AbsListView absListView, int t0, int t1, int i2) {
t=t0;
}
});
initMessage("3",1+"");
return view;
}
public void fadeIn( View view) {
if (view.getVisibility() == View.VISIBLE) {
return;
}
Animation animation = new AlphaAnimation(0F, 1F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setEnabled(true);
if(view.equals( newSystemMessageActivity.tab))
{
newSystemMessageActivity.im_bg.setVisibility(View.VISIBLE);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
view.setVisibility(View.VISIBLE);
}
public void fadeOut( View view) {
if (view.getVisibility() != View.VISIBLE) {
return;
}
// Since the button is still clickable before fade-out animation
// ends, we disable the button first to block click.
view.setEnabled(false);
Animation animation = new AlphaAnimation(1F, 0F);
animation.setDuration(500);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
}
public int getScrollY() {
View c = ptrLv.getChildAt(0);
if (c == null ) {
return 0;
}
int firstVisiblePosition = ptrLv.getRefreshableView().getFirstVisiblePosition();
int top = c.getTop();
return -top + firstVisiblePosition * c.getHeight() ;
}
public void initMessage(String module, String page)
{
showLoadingProgress();
Map<String,String> map=new HashMap<>();
map.put("module",module);
map.put("page",page);
sendJsonPostParamtoNetSignMD5(appMesageList,map,101,this);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode)
{
case 101:
closeProgressDialog();
messageBeans = GsonTools.fromGsonToBean(resultJson, MessageBean.class);
if ("200".equals(messageBeans.getCode())) {
if (page == 1) {
data.clear();
if (messageBeans.getData() == null || messageBeans.getData().getList().size() == 0) {
// 显示空布局
ptrLv.setEmptyView(ll_empty);
// 完成刷新
ptrLv.onRefreshComplete();
return;
} else {
data.addAll(messageBeans.getData().getList());
}
} else {
data.addAll(messageBeans.getData().getList());
}
if (messageAdapter == null) {
messageAdapter = new MessageAdapter(data);
ptrLv.getRefreshableView().setAdapter(messageAdapter);
} else {
messageAdapter.notifyDataSetChanged();
}
ptrLv.onRefreshComplete();
if (page > 1) {
// 是否有更多
if (messageBeans.getData()== null || messageBeans.getData().getList().size() == 0) {// 由于暂时虚构没数据,所以加载更多也没数据
ToastUtil.showMessage("没有更多了");
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
if (page > 1)
page--;
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else if (page == 1) {
// 得到总页码数
int totalPage = messageBeans.getData().getPageSize();
if (totalPage <= 1 || totalPage < page) {
ptrLv.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
} else {
ptrLv.setMode(PullToRefreshBase.Mode.BOTH);
}
String text = CommonUtil.getStringDate();
ptrLv.getLoadingLayoutProxy().setLastUpdatedLabel(text);
} else {
ToastUtil.showToast(messageBeans.getMessage() + "");
}
break;
}
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
data.get(i-1).setIs_read("1");
messageAdapter.notifyDataSetChanged();
if(newSystemMessageActivity==null)
return;
newSystemMessageActivity.goActivity(data.get(i-1).getExtra().getType(),data.get(i-1),2);
}
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if(!hidden)
{
initMessage("3",page+"");
}
}
}