diff --git a/app/build.gradle b/app/build.gradle index f937ca0..f27de2f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,8 +20,8 @@ android { applicationId "cn.shangyu.gdxzPatient" minSdkVersion 19 targetSdkVersion 26 - versionCode 72 - versionName "3.5.9" + versionCode 73 + versionName "3.6.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true // signingConfig signingConfigs.config diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f00c594..207f53a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="73" + android:versionName="3.6.0" > @@ -501,7 +500,8 @@ android:screenOrientation="portrait" > - + @@ -840,7 +840,8 @@ + android:screenOrientation="portrait" + > 0) { + //tv_gd_house_num.setText("评论" + "(" + totalcoment + ")"); + mTvPLNum.setText("评论"); + } else { - adapter.notifyDataSetChanged(); + + mTvPLNum.setText("待评论"); + } - mTvPLNum.setText("评论" + "(" + totalCount + ")"); + initExpandableListView(mList); +// mLv_PL.onRefreshComplete(); +// // if (mList.size() == 0 || mList == null) { +// // +// // } +// if (mList.size() == 0) { +// mLv_PL.setMode(Mode.DISABLED); +// } else { +// mLv_PL.setMode(Mode.BOTH); +// } +// if (adapter == null) { +// adapter = new CommentAdapter(); +// mLv_PL.setAdapter(adapter); +// } else { +// adapter.notifyDataSetChanged(); +// } + + //mTvPLNum.setText("评论" + "(" + totalCount + ")"); break; case GET_ADD_COMMENT_RESULT: - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - } else { - mLv_PL.setMode(Mode.BOTH); - } +// if (mList.size() == 0) { +// mLv_PL.setMode(Mode.DISABLED); +// } else { +// mLv_PL.setMode(Mode.BOTH); +// } + getCommentList("1"); disMissKeyBOard(); - adapter.notifyDataSetChanged(); - mTvPLNum.setText("评论" + "(" + totalCount + ")"); +// adapter.notifyDataSetChanged(); +// mTvPLNum.setText("评论" + "(" + totalCount + ")"); ToastUtil.showMessage("评论成功"); mEt_AddPL.setText(""); mEt_AddPL.requestFocus(); break; case GET_DELETE_COMMENT_RESULT: - - mList.remove(mList.get(delPos)); - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - } else { - mLv_PL.setMode(Mode.BOTH); - } - delPos = -1; - totalCount -= 1; - mTvPLNum.setText("评论" + "(" + totalCount + ")"); - adapter.notifyDataSetChanged(); + getCommentList("1"); +// mList.remove(mList.get(delPos)); +// if (mList.size() == 0) { +// mLv_PL.setMode(Mode.DISABLED); +// } else { +// mLv_PL.setMode(Mode.BOTH); +// } +// delPos = -1; +// totalCount -= 1; +// mTvPLNum.setText("评论" + "(" + totalCount + ")"); +// adapter.notifyDataSetChanged(); ToastUtil.showMessage("删除成功"); break; case 77: - adapter.notifyDataSetChanged(); + //adapter.notifyDataSetChanged(); break; default: break; @@ -159,7 +202,7 @@ public class ClinicalDetailsActivity extends Activity implements private CustomProgressDialog pd; ForegroundColorSpan redSpan, greySpan; private int page = 1; - private View topView; + //private View topView; private ImageView iv_clinical_phone; @Override @@ -167,15 +210,13 @@ public class ClinicalDetailsActivity extends Activity implements // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_gd_detail); - topView = UIUtils.inflate(R.layout.gd_detail_top); + //topView = UIUtils.inflate(R.layout.gd_detail_top); X5WebView.initHardwareAccelerate(this); - mWebView = (X5WebView) topView.findViewById(R.id.news_detail_wv); - mTvPLNum = (TextView) topView.findViewById(R.id.tv_gd_detail_num); + mWebView = (X5WebView) findViewById(R.id.news_detail_wv); + mTvPLNum = (TextView) findViewById(R.id.tv_gd_detail_num); iv_clinical_phone = (ImageView) findViewById(R.id.iv_clinical_phone); iv_clinical_phone.setOnClickListener(this); - mLv_PL = (PullToRefreshListView) findViewById(R.id.lv_gd_pinglun); - mLv_PL.setVisibility(View.GONE); - mLv_PL.getRefreshableView().addHeaderView(topView); + expandableListView = (CommentExpandableListView) findViewById(R.id.detail_page_lv_comment); mLl_AddPL = (LinearLayout) findViewById(R.id.ll_pinglun); mEt_AddPL = (EditText) findViewById(R.id.et_add_pinglun); mBt_AddPL = (Button) findViewById(R.id.bt_add_pinglun); @@ -196,36 +237,7 @@ public class ClinicalDetailsActivity extends Activity implements .getResources().getColor(R.color.black)); greySpan = new ForegroundColorSpan(ClinicalDetailsActivity.this .getResources().getColor(R.color.darkGrey)); - mLv_PL.setMode(Mode.BOTH); - - mLv_PL.setOnRefreshListener(new OnRefreshListener2() { - @Override - public void onPullDownToRefresh(PullToRefreshBase refreshView) { - // TODO Auto-generated method stub - if (UIUtils.isNetWorkConnected(UIUtils.getContext())) { - // setUpdateTime(refreshView); - mList.clear(); - page = 1; - getCommentList("1"); - showToast = false; - } else { - ToastUtil.showMessage("当前网络链接不可用..请检查网络.."); - } - } - @Override - public void onPullUpToRefresh(PullToRefreshBase refreshView) { - // TODO Auto-generated method stub - if (UIUtils.isNetWorkConnected(UIUtils.getContext())) { - showToast = true; - page += 1; - getCommentList(page + ""); - - } else { - ToastUtil.showMessage("当前网络链接不可用..请检查网络.."); - } - } - }); initData(); } @@ -340,20 +352,24 @@ public class ClinicalDetailsActivity extends Activity implements new Thread() { public void run() { - List parameters = new ArrayList(); - BasicNameValuePair value01 = new BasicNameValuePair("uuid", - bookUuid); - BasicNameValuePair value02 = new BasicNameValuePair("page", - page); - parameters.add(value01); - parameters.add(value02); - HttpResult httpResult = HttpHelper.post( - Url.getClinicalCommnetList, parameters);// 请求网络 - String result = httpResult.getString();// str为服务器返回的json串 - LogUtils.e(result); - processData(result); - pd.dismiss(); - mHandler.sendEmptyMessage(GET_COMMENT_LIST_RESULT); + + Map map = new HashMap<>(); + map.put("uuid",bookUuid); + sendJsonPostParamtoNetSignMD5(Url.getNewCommentList,map,GET_COMMENT_LIST_RESULT); +// List parameters = new ArrayList(); +// BasicNameValuePair value01 = new BasicNameValuePair("uuid", +// bookUuid); +// BasicNameValuePair value02 = new BasicNameValuePair("page", +// page); +// parameters.add(value01); +// parameters.add(value02); +// HttpResult httpResult = HttpHelper.post( +// Url.getClinicalCommnetList, parameters);// 请求网络 +// String result = httpResult.getString();// str为服务器返回的json串 +// LogUtils.e(result); +// processData(result); +// pd.dismiss(); +// mHandler.sendEmptyMessage(GET_COMMENT_LIST_RESULT); } @@ -361,13 +377,13 @@ public class ClinicalDetailsActivity extends Activity implements }.start(); } - private void delCommentList(final int pos) { + private void delCommentList(final String uid) { // TODO Auto-generated method stub new Thread() { public void run() { List parameters = new ArrayList(); BasicNameValuePair value01 = new BasicNameValuePair("uuid", - mList.get(pos).getComment_uuid() + ""); + uid); // BasicNameValuePair value02 = new BasicNameValuePair("page", // "1"); // parameters.add(value01); @@ -407,10 +423,10 @@ public class ClinicalDetailsActivity extends Activity implements parameters);// 请求网络 String result = httpResult.getString();// str为服务器返回的json串 // processData(result); - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - mList = bean.data; - totalCount = bean.totalPage; +// Gson gson = new Gson(); +// CommentBean bean = gson.fromJson(result, CommentBean.class); +// mList = bean.data; +// totalCount = bean.totalPage; mHandler.sendEmptyMessage(GET_ADD_COMMENT_RESULT); } @@ -419,25 +435,85 @@ public class ClinicalDetailsActivity extends Activity implements } // private List mList = new ArrayList<>(); - private List mList = new ArrayList<>(); + private List mList = new ArrayList<>(); private int totalCount; // 处理请求下来的数据 private void processData(String result) { - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - if (bean.code == 1) { + mList.clear(); + totalcoment=0; + JSONObject jo= null; + try { + jo = new JSONObject(result); + JSONArray jsonArray = jo.getJSONArray("data"); + if(jsonArray==null||jsonArray.length()<1) + { - if (bean.data.size() == 0) { - if (showToast) { - ToastUtil.showMessage("没有更多数据了"); + } + else + { + totalcoment=jsonArray.length(); + for(int j=0;j0) + { + totalcoment+=jArr1.length(); + List childList=new ArrayList<>(); + for(int i=0;i 16) { - vh.mTv_time.setText(mList.get(position).getCreate_date() - .substring(5, 16)); - } else { - vh.mTv_time.setText(mList.get(position).getCreate_date()); - } - String name = mList.get(position).getRealname(); - vh.mTv_name.setText(name); - if (!TextUtils.isEmpty(name)) { - if (name.equals("肝胆相照")) { - vh.mTv_name.setText(name); - } else { - String firstsNmae = name.substring(0, 1); - vh.mTv_name.setText(firstsNmae + "**"); - } - - } else { - vh.mTv_name.setText("null"); - } - // LogUtils.e("肝胆活动评论的名称:" + name); - // if (name.equals("肝胆相照")) { - // vh.mTv_name.setText(name); - // } else if (!TextUtils.isEmpty(name)) { - // String firstsNmae = name.substring(0, 1); - // vh.mTv_name.setText(firstsNmae + "**"); - // } else { - // vh.mTv_name.setText("null"); - // } - // user_uuid - if (uuid.equals(mList.get(position).user_uuid)) { - vh.mIv_delete.setVisibility(View.VISIBLE); - vh.mTv_hf.setVisibility(View.GONE); - } else { - vh.mIv_delete.setVisibility(View.GONE); - vh.mTv_hf.setVisibility(View.VISIBLE); - } - vh.mIv_delete.setTag(position); - vh.mIv_delete.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View v) { - // TODO Auto-generated method stub - // delVisit((Integer) v.getTag()); - buildAlert = ECAlertDialog.buildAlert( - ClinicalDetailsActivity.this, "确定删除评论吗?", "取消", - "确定", 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) { - // TODO Auto-generated method stub - buildAlert.dismiss(); - delCommentList(position); - delPos = position; - - } - }); - buildAlert.setTitle("删除评论"); - buildAlert.setCanceledOnTouchOutside(false); - buildAlert.show(); - - } - - }); - vh.mTv_hf.setTag(position); - vh.mTv_hf.setOnClickListener(new OnClickListener() { - - // 添加回复 - @Override - public void onClick(View v) { - // TODO Auto-generated method stub - replyUuid = mList.get(position).getPatient_uuid(); - Intent intent = new Intent(ClinicalDetailsActivity.this, - SettingFeedbackActivity.class); - intent.setType("comment"); - replyName = mList.get(position).getRealname(); - String fir_name = (String) replyName.subSequence(0, 1); - String newName; - if (TextUtils.isEmpty(replyName)) { - newName = "**"; - } else { - if (replyName.equals("肝胆相照")) { - newName = replyName; - } else { - newName = fir_name + "**"; - } - } - intent.putExtra("name", newName); - intent.putExtra("cotent", mList.get(position).getComment()); - replyUuid = mList.get(position).getPatient_uuid(); - startActivityForResult(intent, GET_HF_COMMENT_RESULT); - } - }); - return convertView; - } - } private String replyName; @@ -700,10 +609,10 @@ public class ClinicalDetailsActivity extends Activity implements String result = httpResult.getString();// str为服务器返回的json串 // processData(result); - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - mList = bean.data; - totalCount = bean.totalPage; +// Gson gson = new Gson(); +// CommentBean bean = gson.fromJson(result, CommentBean.class); +// mList = bean.data; +// totalCount = bean.totalPage; mHandler.sendEmptyMessage(GET_ADD_COMMENT_RESULT); } @@ -854,5 +763,428 @@ public class ClinicalDetailsActivity extends Activity implements .setCallback( new UMengShareHelper(ClinicalDetailsActivity.this).shareListener) .open(); + + } + /** + * 初始化评论和回复列表 + */ + private void initExpandableListView(final List commentList){ + expandableListView.setGroupIndicator(null); + //默认展开所有回复 + adapterex = new CommentExpandAdapter(this, commentList); + expandableListView.setAdapter(adapterex); + + for(int i = 0; i commentBeanList; + private List replyBeanList; + private Context context; + private int pageIndex = 1; + ECAlertDialog buildAlert; + private int delPos;// 删除评论的位置 + public CommentExpandAdapter(Context context, List commentBeanList) { + this.context = context; + this.commentBeanList = commentBeanList; + } + + @Override + public int getGroupCount() { + return commentBeanList.size(); + } + + @Override + public int getChildrenCount(int i) { + if(commentBeanList.get(i).getChildList() == null){ + return 0; + }else { + if(!commentBeanList.get(i).getExpanded()&&commentBeanList.get(i).getChildList().size()>3) + { + return 3; + } + else + { + return commentBeanList.get(i).getChildList().size()>0 ? commentBeanList.get(i).getChildList().size():0; + } + + } + + } + + @Override + public Object getGroup(int i) { + return commentBeanList.get(i); + } + + @Override + public Object getChild(int i, int i1) { + return commentBeanList.get(i).getChildList().get(i1); + } + + @Override + public long getGroupId(int groupPosition) { + return groupPosition; + } + + @Override + public long getChildId(int groupPosition, int childPosition) { + return getCombinedChildId(groupPosition, childPosition); + } + + @Override + public boolean hasStableIds() { + return true; + } + + @Override + public View getGroupView(final int groupPosition, boolean isExpand, View convertView, ViewGroup viewGroup) { + final GroupHolder groupHolder; + + if(convertView == null){ + convertView = LayoutInflater.from(context).inflate(R.layout.item_comment_new_p, viewGroup, false); + groupHolder = new GroupHolder(convertView); + convertView.setTag(groupHolder); + }else { + groupHolder = (GroupHolder) convertView.getTag(); + } + if(puuid.equals(commentBeanList.get(groupPosition).getUser_uuid())) + { + groupHolder.iv_item_comment_delete.setVisibility(View.VISIBLE); + groupHolder.item_comment_hf.setVisibility(View.GONE); + } + else + { + groupHolder.iv_item_comment_delete.setVisibility(View.GONE); + groupHolder.item_comment_hf.setVisibility(View.VISIBLE); + } + if (!TextUtils.isEmpty(commentBeanList.get(groupPosition).getPhoto())) { + ImageLoader + .getInstance() + .displayImage( + Url.imgUrl + commentBeanList.get(groupPosition).getPhoto(), + groupHolder.logo, + ImageOptions + .getImageOptions(R.drawable.expert_img)); + } +// groupHolder.logo.setOnClickListener(new OnClickListener() { +// @Override +// public void onClick(View v) { +// pd.show(); +// getRelationship(mList.get(groupPosition).getUser_uuid()); +// patientToDetialPos = groupPosition; +// } +// }); + groupHolder.tv_name.setText(commentBeanList.get(groupPosition).getName()); + groupHolder.tv_time.setText(commentBeanList.get(groupPosition).getCreate_date()); + groupHolder.tv_content.setText(commentBeanList.get(groupPosition).getContent()); + groupHolder.iv_item_comment_delete.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + buildAlert = ECAlertDialog.buildAlert( + context, "确定删除评论吗?", "取消", + "确定", 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) { + // TODO Auto-generated method stub + buildAlert.dismiss(); + String uid=mList.get(groupPosition).getComment_uuid(); + delCommentList(uid); + //mList.remove(groupPosition); + + } + }); + buildAlert.setTitle("删除评论"); + buildAlert.setCanceledOnTouchOutside(false); + buildAlert.show(); + } + }); + groupHolder.item_comment_hf.setOnClickListener(new OnClickListener() { + + // 添加回复 + @Override + public void onClick(View v) { + // TODO Auto-generated method stub + Intent intent = new Intent(ClinicalDetailsActivity.this, + SettingFeedbackActivity.class); + intent.setType("comment"); + intent.putExtra("name", mList.get(groupPosition).getName()); + intent.putExtra("cotent", mList.get(groupPosition).getContent()); + replyName = mList.get(groupPosition).getName(); + replyUuid = mList.get(groupPosition).getUser_uuid(); + startActivityForResult(intent, 201); + } + }); + return convertView; + } + + @Override + public View getChildView(final int groupPosition, final int childPosition, boolean b, View convertView, ViewGroup viewGroup) { + final ChildHolder childHolder; + if(convertView == null){ + convertView = LayoutInflater.from(context).inflate(R.layout.item_comment_new,viewGroup, false); + childHolder = new ChildHolder(convertView); + convertView.setTag(childHolder); + } + else { + childHolder = (ChildHolder) convertView.getTag(); + } + if(childPosition==2&&commentBeanList.get(groupPosition).getChildList().size()>3&&!commentBeanList.get(groupPosition).getExpanded()) + { + childHolder.morer.setVisibility(View.VISIBLE); + childHolder.more.setText("— —展开更多回复"); + childHolder.more_i.setImageDrawable(getResources().getDrawable(R.drawable.exp)); + } + else + { + if(commentBeanList.get(groupPosition).getExpanded()&&(childPosition==(commentBeanList.get(groupPosition).getChildList().size()-1))) + { + childHolder.more.setText("— —收起"); + childHolder.more_i.setImageDrawable(getResources().getDrawable(R.drawable.coll)); + childHolder.morer.setVisibility(View.VISIBLE); + } + else + { + childHolder.morer.setVisibility(View.GONE); + } + } + childHolder.morer.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + + if(!commentBeanList.get(groupPosition).getExpanded()) + { + commentBeanList.get(groupPosition).setExpanded(true); + + notifyDataSetChanged(); + + } + else + { + commentBeanList.get(groupPosition).setExpanded(false); + + notifyDataSetChanged(); + + } + } + }); +// if(puuid.equals(commentBeanList.get(groupPosition).getChildList().get(childPosition).getUser_uuid())) +// { +// childHolder.iv_item_comment_delete.setVisibility(View.VISIBLE); +// } +// else +// { +// childHolder.iv_item_comment_delete.setVisibility(View.GONE); +// } + if(!TextUtils.isEmpty(commentBeanList.get(groupPosition).getChildList().get(childPosition).getCreate_date())) + { + childHolder.tv_time.setText(commentBeanList.get(groupPosition).getChildList().get(childPosition).getCreate_date()); + } + else + { + childHolder.tv_time.setText(""); + } + if (!TextUtils.isEmpty(commentBeanList.get(groupPosition).getChildList().get(childPosition).getPhoto())) { + ImageLoader + .getInstance() + .displayImage( + Url.imgUrl + commentBeanList.get(groupPosition).getChildList().get(childPosition).getPhoto(), + childHolder.logo, + ImageOptions + .getImageOptions(R.drawable.expert_img)); + } + String replyUser = commentBeanList.get(groupPosition).getChildList().get(childPosition).getName(); + if(!TextUtils.isEmpty(replyUser)){ + childHolder.tv_name.setText(replyUser); + }else { + childHolder.tv_name.setText("无名"); + } + delPos=childPosition; + childHolder.tv_content.setText(commentBeanList.get(groupPosition).getChildList().get(childPosition).getContent()); +// childHolder.iv_item_comment_delete.setOnClickListener(new View.OnClickListener() { +// +// @Override +// public void onClick(View v) { +// buildAlert = ECAlertDialog.buildAlert( +// context, "确定删除评论吗?", "取消", +// "确定", 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) { +// // TODO Auto-generated method stub +// buildAlert.dismiss(); +// String uid=mList.get(groupPosition).getChildList().get(childPosition).getComment_uuid(); +// delCommentList(uid); +// mList.get(groupPosition).getChildList().remove(childPosition); +// +// } +// }); +// buildAlert.setTitle("删除评论"); +// buildAlert.setCanceledOnTouchOutside(false); +// buildAlert.show(); +// } +// }); + return convertView; + } + + @Override + public boolean isChildSelectable(int i, int i1) { + return true; + } + + private class GroupHolder{ + private CircleImageView logo; + private ImageView iv_item_comment_delete; + private TextView tv_name, tv_content, tv_time,item_comment_hf; + // private ImageView iv_like; + public GroupHolder(View view) { + logo = (CircleImageView) view.findViewById(R.id.iv_patient_touxiang); + tv_content = (TextView) view.findViewById(R.id.item_comment_content); + tv_name = (TextView) view.findViewById(R.id.item_comment_name); + tv_time = (TextView) view.findViewById(R.id.item_comment_time); + item_comment_hf=view.findViewById(R.id.item_comment_hf); + iv_item_comment_delete=view.findViewById(R.id.iv_item_comment_delete); + // iv_like = (ImageView) view.findViewById(R.id.comment_item_like); + } + } + + private class ChildHolder{ + private CircleImageView logo; + private ImageView more_i; + private TextView tv_name, tv_content, tv_time,more; + private RelativeLayout all_child,morer; + public ChildHolder(View view) { + all_child=view.findViewById(R.id.all_child); + logo = (CircleImageView) view.findViewById(R.id.iv_patient_touxiang); + tv_content = (TextView) view.findViewById(R.id.item_comment_content); + tv_name = (TextView) view.findViewById(R.id.item_comment_name); + tv_time = (TextView) view.findViewById(R.id.item_comment_time); + //iv_item_comment_delete=view.findViewById(R.id.iv_item_comment_delete); + more=view.findViewById(R.id.more); + morer=view.findViewById(R.id.morer); + more_i=view.findViewById(R.id.more_i); + } + } + + + + } + /** + * 2018.6.14加密请求(患者端) + */ + public void sendJsonPostParamtoNetSignMD5(final String postUrl, + final Map param, final int callType) { + param.put("user_uuid", SharePrefUtil.getString(UIUtils.getContext(), "uuid", "")); + param.put("client_type", "A"); + param.put("version", UpdateVersionUtils.getVersionName()); + LogUtils.e("user_uuid+version = " + SharePrefUtil.getString(UIUtils.getContext(), "uuid", "") + "," + UpdateVersionUtils.getVersionName()); + new Thread(new Runnable() { + private HttpHelper.HttpResult httpResult; + private String result1; + + @Override + public void run() { + // TODO Auto-generated method stub + + try { + httpResult = HttpHelper.post(Url.getTimestamp, null); + if (httpResult != null) { + result1 = httpResult.getString(); + // LogUtils.e(result); + TimestampBean bean = GsonTools.fromGsonToBean(result1, TimestampBean.class); + param.put("timestamp", bean.getTimestamp()); + LogUtils.e("timestamp = " + bean.getTimestamp()); + + String encoding = "UTF-8"; + Gson gson = new Gson(); + String params = gson.toJson(param); + byte[] data; + String sign = SignUtils.getSign(param); + data = params.getBytes(encoding); + URL url = new URL(postUrl); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setDoOutput(true); + conn.setRequestProperty("Content-Type", "application/json"); + conn.setRequestProperty("sign", sign); + conn.setRequestProperty("Content-Length", String.valueOf(data.length)); + conn.setConnectTimeout(5 * 1000); + OutputStream outStream = conn.getOutputStream(); + outStream.write(data); + outStream.flush(); + outStream.close(); + if (conn.getResponseCode() == 200) { + InputStream inStream = conn.getInputStream(); + String result = new String(StreamTool.readInputStream(inStream), "UTF-8"); +// + Message message = new Message(); +// +// Bundle bundle = new Bundle(); +// bundle.putString("text1",result); + message.what = callType; + message.obj = new String(result); + Log.d("gdxzpyq","postUrl= "+postUrl+" params="+params+" result ="+result); + mHandler.sendMessage(message); + } else { + + } + } + } catch (Exception e) { +// ToastUtil.showMessage("提交失败,请重试"); + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }).start(); } } diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanDetailsActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanDetailsActivity.java index d76a92a..8f19c01 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanDetailsActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanDetailsActivity.java @@ -1,9 +1,16 @@ package cn.shangyu.gdxzPatient.activity; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.http.message.BasicNameValuePair; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -21,6 +28,7 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; import android.text.style.ForegroundColorSpan; +import android.util.Log; import android.view.Display; import android.view.LayoutInflater; import android.view.View; @@ -33,28 +41,40 @@ import android.webkit.WebSettings.LayoutAlgorithm; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.BaseAdapter; +import android.widget.BaseExpandableListAdapter; import android.widget.Button; import android.widget.EditText; +import android.widget.ExpandableListView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import cn.shangyu.gdxzPatient.R; +import cn.shangyu.gdxzPatient.adapter.CommentAdapter; +import cn.shangyu.gdxzPatient.bean.Child; import cn.shangyu.gdxzPatient.bean.CommentBean; import cn.shangyu.gdxzPatient.bean.CommentBean.DataBean; +import cn.shangyu.gdxzPatient.bean.NewCommentBean; import cn.shangyu.gdxzPatient.bean.PatientToDetialBean; +import cn.shangyu.gdxzPatient.bean.TimestampBean; import cn.shangyu.gdxzPatient.ecdemo.common.dialog.ECAlertDialog; import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil; import cn.shangyu.gdxzPatient.http.HttpHelper; import cn.shangyu.gdxzPatient.http.HttpHelper.HttpResult; +import cn.shangyu.gdxzPatient.utils.GsonTools; import cn.shangyu.gdxzPatient.utils.ImageOptions; import cn.shangyu.gdxzPatient.utils.LogUtils; import cn.shangyu.gdxzPatient.utils.SharePrefUtil; +import cn.shangyu.gdxzPatient.utils.SignUtils; +import cn.shangyu.gdxzPatient.utils.StreamTool; import cn.shangyu.gdxzPatient.utils.UIUtils; import cn.shangyu.gdxzPatient.utils.UMengShareHelper; +import cn.shangyu.gdxzPatient.utils.UpdateVersionUtils; import cn.shangyu.gdxzPatient.utils.Url; import cn.shangyu.gdxzPatient.utils.Utility; import cn.shangyu.gdxzPatient.utils.X5WebView; +import cn.shangyu.gdxzPatient.widget.CircleImageView; +import cn.shangyu.gdxzPatient.widget.CommentExpandableListView; import cn.shangyu.gdxzPatient.widget.CustomProgressDialog; import com.google.gson.Gson; @@ -86,7 +106,7 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { private String bookUuid = ""; private TextView mTvPLNum; - private PullToRefreshListView mLv_PL; + //private PullToRefreshListView mLv_PL; private LinearLayout mLl_AddPL; private EditText mEt_AddPL; @@ -95,10 +115,12 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { private RelativeLayout rl_back; private TextView top_title; - private CommentAdapter adapter; + //private CommentAdapter adapter; private ImageView top_right; - + private CommentExpandableListView expandableListView; + private CommentExpandAdapter adapterex; + private int totalcoment=0; private Handler mHandler = new Handler() { public void handleMessage(Message msg) { @@ -140,7 +162,7 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { // return; // } if (!TextUtils.isEmpty(mList.get(patientToDetialPos) - .getPatient_uuid())) { + .getUser_uuid())) { showRelationShipDialog(patientToDetialPos, patientToDetialCode); } else { @@ -151,51 +173,68 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { break; case GET_COMMENT_LIST_RESULT: - mLv_PL.onRefreshComplete(); - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - // ll_emptys.setVisibility(View.VISIBLE); - } else { - mLv_PL.setMode(Mode.BOTH); - } - if (adapter == null) { - adapter = new CommentAdapter(); - mLv_PL.setAdapter(adapter); + pd.dismiss(); + processData((String) msg.obj); + + + if (totalcoment>0) { + //tv_gd_house_num.setText("评论" + "(" + totalcoment + ")"); + mTvPLNum.setText("评论"); + } else { - adapter.notifyDataSetChanged(); + + mTvPLNum.setText("待评论"); + } - mTvPLNum.setText("评论" + "(" + totalCount + ")"); + initExpandableListView(mList); +// mLv_PL.onRefreshComplete(); +// if (mList.size() == 0) { +// mLv_PL.setMode(Mode.DISABLED); +// // ll_emptys.setVisibility(View.VISIBLE); +// } else { +// mLv_PL.setMode(Mode.BOTH); +// } +// if (adapter == null) { +// adapter = new CommentAdapter(); +// mLv_PL.setAdapter(adapter); +// } else { +// adapter.notifyDataSetChanged(); +// } +// +// mTvPLNum.setText("评论" + "(" + totalCount + ")"); break; case GET_ADD_COMMENT_RESULT: - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - } else { - mLv_PL.setMode(Mode.BOTH); - } +// if (mList.size() == 0) { +// mLv_PL.setMode(Mode.DISABLED); +// } else { +// mLv_PL.setMode(Mode.BOTH); +// } disMissKeyBOard(); - adapter.notifyDataSetChanged(); - mTvPLNum.setText("评论" + "(" + totalCount + ")"); +// adapter.notifyDataSetChanged(); +// mTvPLNum.setText("评论" + "(" + totalCount + ")"); + getCommentList("1"); ToastUtil.showMessage("评论成功"); mEt_AddPL.setText(""); mEt_AddPL.requestFocus(); break; case GET_DELETE_COMMENT_RESULT: - mList.remove(mList.get(delPos)); - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - } else { - mLv_PL.setMode(Mode.BOTH); - } - delPos = -1; - totalCount -= 1; - mTvPLNum.setText("评论" + "(" + totalCount + ")"); - adapter.notifyDataSetChanged(); +// mList.remove(mList.get(delPos)); +// if (mList.size() == 0) { +// mLv_PL.setMode(Mode.DISABLED); +// } else { +// mLv_PL.setMode(Mode.BOTH); +// } +// delPos = -1; +// totalCount -= 1; +// mTvPLNum.setText("评论" + "(" + totalCount + ")"); +// adapter.notifyDataSetChanged(); + getCommentList("1"); ToastUtil.showMessage("删除成功"); break; case 77: - adapter.notifyDataSetChanged(); + //adapter.notifyDataSetChanged(); break; default: break; @@ -205,21 +244,21 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { private CustomProgressDialog pd; ForegroundColorSpan redSpan, greySpan; private int page = 1; - private View topView; + //private View topView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_gd_detail); - topView = UIUtils.inflate(R.layout.gd_detail_top); + //topView = findViewById(R.layout.gd_detail_top); X5WebView.initHardwareAccelerate(this); - mWebView = topView.findViewById(R.id.news_detail_wv); - mTvPLNum = (TextView) topView.findViewById(R.id.tv_gd_detail_num); + mWebView = findViewById(R.id.news_detail_wv); + mTvPLNum = (TextView)findViewById(R.id.tv_gd_detail_num); - mLv_PL = (PullToRefreshListView) findViewById(R.id.lv_gd_pinglun); - mLv_PL.setVisibility(View.GONE); - mLv_PL.getRefreshableView().addHeaderView(topView); +// mLv_PL = (PullToRefreshListView) findViewById(R.id.lv_gd_pinglun); +// mLv_PL.setVisibility(View.GONE); +// mLv_PL.getRefreshableView().addHeaderView(topView); mLl_AddPL = (LinearLayout) findViewById(R.id.ll_pinglun); mEt_AddPL = (EditText) findViewById(R.id.et_add_pinglun); mBt_AddPL = (Button) findViewById(R.id.bt_add_pinglun); @@ -232,6 +271,7 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { top_right.setBackgroundResource(R.drawable.share_icon); top_right.setOnClickListener(this); top_title = (TextView) findViewById(R.id.top_title); + expandableListView = (CommentExpandableListView) findViewById(R.id.detail_page_lv_comment); top_title.setText("活动详情"); mBt_AddPL.setOnClickListener(this); pd = new CustomProgressDialog(GanDanDetailsActivity.this, "请稍候"); @@ -245,42 +285,76 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { greySpan = new ForegroundColorSpan(GanDanDetailsActivity.this .getResources().getColor(R.color.darkGrey)); initData(); - mLv_PL.setMode(Mode.BOTH); +// mLv_PL.setMode(Mode.BOTH); +// +// mLv_PL.setOnRefreshListener(new OnRefreshListener2() { +// @Override +// public void onPullDownToRefresh(PullToRefreshBase refreshView) { +// // TODO Auto-generated method stub +// if (UIUtils.isNetWorkConnected(UIUtils.getContext())) { +// // setUpdateTime(refreshView); +// mList.clear(); +// page = 1; +// getCommentList("1"); +// showToast = false; +// } else { +// ToastUtil.showMessage("当前网络链接不可用..请检查网络.."); +// } +// } +// +// @Override +// public void onPullUpToRefresh(PullToRefreshBase refreshView) { +// // TODO Auto-generated method stub +// if (UIUtils.isNetWorkConnected(UIUtils.getContext())) { +// showToast = true; +// page += 1; +// getCommentList(page + ""); +// +// } else { +// ToastUtil.showMessage("当前网络链接不可用..请检查网络.."); +// } +// } +// }); + - mLv_PL.setOnRefreshListener(new OnRefreshListener2() { + } + /** + * 初始化评论和回复列表 + */ + private void initExpandableListView(final List commentList){ + expandableListView.setGroupIndicator(null); + //默认展开所有回复 + adapterex = new CommentExpandAdapter(this, commentList); + expandableListView.setAdapter(adapterex); + + for(int i = 0; i parameters = new ArrayList(); - BasicNameValuePair value01 = new BasicNameValuePair("uuid", - bookUuid); - BasicNameValuePair value02 = new BasicNameValuePair("page", - page); - parameters.add(value01); - parameters.add(value02); - HttpResult httpResult = HttpHelper.post(Url.getCommentList, - parameters);// 请求网络 - if (httpResult!=null) { - String result = httpResult.getString();// str为服务器返回的json串 - LogUtils.e("comentssss" + result + "page==" + page); - processData(result); - pd.dismiss(); - mHandler.sendEmptyMessage(GET_COMMENT_LIST_RESULT); - } + Map map = new HashMap<>(); + map.put("uuid",bookUuid); + sendJsonPostParamtoNetSignMD5(Url.getNewCommentList,map,GET_COMMENT_LIST_RESULT); +// List parameters = new ArrayList(); +// BasicNameValuePair value01 = new BasicNameValuePair("uuid", +// bookUuid); +// BasicNameValuePair value02 = new BasicNameValuePair("page", +// page); +// parameters.add(value01); +// parameters.add(value02); +// HttpResult httpResult = HttpHelper.post(Url.getCommentList, +// parameters);// 请求网络 +// if (httpResult!=null) { +// String result = httpResult.getString();// str为服务器返回的json串 +// LogUtils.e("comentssss" + result + "page==" + page); +// //processData(result); +// pd.dismiss(); +// mHandler.sendEmptyMessage(GET_COMMENT_LIST_RESULT); +// } }; }.start(); } - private void delCommentList(final int pos) { + private void delCommentList(final String uid) { // TODO Auto-generated method stub new Thread() { public void run() { List parameters = new ArrayList(); BasicNameValuePair value01 = new BasicNameValuePair("uuid", - mList.get(pos).getComment_uuid() + ""); + uid); // BasicNameValuePair value02 = new BasicNameValuePair("page", // "1"); // parameters.add(value01); @@ -423,11 +500,11 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { if (httpResult!=null) { String result = httpResult.getString();// str为服务器返回的json串 // processData(result); - - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - mList = bean.data; - totalCount = bean.totalPage; + Log.d("gdxzpyq"," result ="+result); +// Gson gson = new Gson(); +// CommentBean bean = gson.fromJson(result, CommentBean.class); +// mList = bean.data; +// totalCount = bean.totalPage; mHandler.sendEmptyMessage(GET_ADD_COMMENT_RESULT); } @@ -436,25 +513,80 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { } // private List mList = new ArrayList<>(); - private List mList = new ArrayList<>(); + private List mList = new ArrayList<>(); private int totalCount; // 处理请求下来的数据 private void processData(String result) { - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - if (bean.code == 1) { + mList.clear(); + totalcoment=0; + JSONObject jo= null; + try { + jo = new JSONObject(result); + JSONArray jsonArray = jo.getJSONArray("data"); + if(jsonArray==null||jsonArray.length()<1) + { + + } + else + { + totalcoment=jsonArray.length(); + for(int j=0;j0) + { + totalcoment+=jArr1.length(); + List childList=new ArrayList<>(); + for(int i=0;i 16) { - vh.mTv_time.setText(mList.get(position).getCreate_date() - .substring(5, 16)); - } else { - vh.mTv_time.setText(mList.get(position).getCreate_date()); - } - String name = mList.get(position).getRealname(); - vh.mTv_name.setText(name); - if (!TextUtils.isEmpty(name)) { - if (name.equals("肝胆相照")) { - vh.mTv_name.setText(name); - } else { - String firstsNmae = name.substring(0, 1); - vh.mTv_name.setText(firstsNmae + "**"); - } - - } else { - vh.mTv_name.setText("null"); - } - // LogUtils.e("肝胆活动评论的名称:" + name); - // if (name.equals("肝胆相照")) { - // vh.mTv_name.setText(name); - // } else if (!TextUtils.isEmpty(name)) { - // String firstsNmae = name.substring(0, 1); - // vh.mTv_name.setText(firstsNmae + "**"); - // } else { - // vh.mTv_name.setText("null"); - // } - // user_uuid - if (uuid.equals(mList.get(position).getPatient_uuid())) { - vh.mIv_delete.setVisibility(View.VISIBLE); - vh.mTv_hf.setVisibility(View.GONE); - } else { - vh.mIv_delete.setVisibility(View.GONE); - vh.mTv_hf.setVisibility(View.VISIBLE); - } - vh.mIv_delete.setTag(position); - vh.mIv_delete.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View v) { - // TODO Auto-generated method stub - // delVisit((Integer) v.getTag()); - buildAlert = ECAlertDialog.buildAlert( - GanDanDetailsActivity.this, "确定删除评论吗?", "取消", "确定", - 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) { - // TODO Auto-generated method stub - buildAlert.dismiss(); - delCommentList(position); - delPos = position; - - } - }); - buildAlert.setTitle("删除评论"); - buildAlert.setCanceledOnTouchOutside(false); - buildAlert.show(); - - } - - }); - vh.mTv_hf.setTag(position); - vh.mTv_hf.setOnClickListener(new OnClickListener() { - - // 添加回复 - @Override - public void onClick(View v) { - // TODO Auto-generated method stub - replyUuid = mList.get(position).getPatient_uuid(); - Intent intent = new Intent(GanDanDetailsActivity.this, - SettingFeedbackActivity.class); - intent.setType("comment"); - replyName = mList.get(position).getRealname(); - - String fir_name; - String newName; - if (TextUtils.isEmpty(replyName)) { - newName = "**"; - } else { - fir_name = (String) replyName.subSequence(0, 1); - if (replyName.equals("肝胆相照")) { - newName = replyName; - } else { - newName = fir_name + "**"; - } - } - intent.putExtra("name", newName); - intent.putExtra("cotent", mList.get(position).getComment()); - replyUuid = mList.get(position).getPatient_uuid(); - startActivityForResult(intent, GET_HF_COMMENT_RESULT); - } - }); - return convertView; - } - } private String replyName; @@ -771,10 +725,10 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { String result = httpResult.getString();// str为服务器返回的json串 // processData(result); - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - mList = bean.data; - totalCount = bean.totalPage; +// Gson gson = new Gson(); +// CommentBean bean = gson.fromJson(result, CommentBean.class); +// mList = bean.data; +// totalCount = bean.totalPage; mHandler.sendEmptyMessage(GET_ADD_COMMENT_RESULT); } @@ -943,7 +897,7 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { ImageLoader.getInstance().displayImage( Url.imgUrl + mList.get(pos).getPhoto(), img_head, ImageOptions.getImageOptions(R.drawable.expert_img)); - String firstsNmae = mList.get(pos).getRealname().substring(0, 1); + String firstsNmae = mList.get(pos).getName().substring(0, 1); // vh.mTv_name.setText(firstsNmae + "**"); tv_name.setText(firstsNmae + "**"); @@ -972,11 +926,11 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { if (patientToDetialCode == 3) { // 解除关注 dialog.dismiss(); - RelieveFriends(mList.get(pos).getPatient_uuid()); + RelieveFriends(mList.get(pos).getUser_uuid()); } else if (patientToDetialCode == 1) { // 添加关注 dialog.dismiss(); - FollowFriend(mList.get(pos).getPatient_uuid()); + FollowFriend(mList.get(pos).getUser_uuid()); } else { // ToastUtil.showMessage(patientToDetialRelationMsg); } @@ -1071,5 +1025,388 @@ public class GanDanDetailsActivity extends Activity implements OnClickListener { e.printStackTrace(); } } + public class CommentExpandAdapter extends BaseExpandableListAdapter { + private static final String TAG = "CommentExpandAdapter"; + private List commentBeanList; + private List replyBeanList; + private Context context; + private int pageIndex = 1; + ECAlertDialog buildAlert; + private int delPos;// 删除评论的位置 + public CommentExpandAdapter(Context context, List commentBeanList) { + this.context = context; + this.commentBeanList = commentBeanList; + } + + @Override + public int getGroupCount() { + return commentBeanList.size(); + } + + @Override + public int getChildrenCount(int i) { + if(commentBeanList.get(i).getChildList() == null){ + return 0; + }else { + if(!commentBeanList.get(i).getExpanded()&&commentBeanList.get(i).getChildList().size()>3) + { + return 3; + } + else + { + return commentBeanList.get(i).getChildList().size()>0 ? commentBeanList.get(i).getChildList().size():0; + } + + } + + } + + @Override + public Object getGroup(int i) { + return commentBeanList.get(i); + } + + @Override + public Object getChild(int i, int i1) { + return commentBeanList.get(i).getChildList().get(i1); + } + + @Override + public long getGroupId(int groupPosition) { + return groupPosition; + } + + @Override + public long getChildId(int groupPosition, int childPosition) { + return getCombinedChildId(groupPosition, childPosition); + } + + @Override + public boolean hasStableIds() { + return true; + } + + @Override + public View getGroupView(final int groupPosition, boolean isExpand, View convertView, ViewGroup viewGroup) { + final GroupHolder groupHolder; + + if(convertView == null){ + convertView = LayoutInflater.from(context).inflate(R.layout.item_comment_new_p, viewGroup, false); + groupHolder = new GroupHolder(convertView); + convertView.setTag(groupHolder); + }else { + groupHolder = (GroupHolder) convertView.getTag(); + } + if(puuid.equals(commentBeanList.get(groupPosition).getUser_uuid())) + { + groupHolder.iv_item_comment_delete.setVisibility(View.VISIBLE); + groupHolder.item_comment_hf.setVisibility(View.GONE); + } + else + { + groupHolder.iv_item_comment_delete.setVisibility(View.GONE); + groupHolder.item_comment_hf.setVisibility(View.VISIBLE); + } + if (!TextUtils.isEmpty(commentBeanList.get(groupPosition).getPhoto())) { + ImageLoader + .getInstance() + .displayImage( + Url.imgUrl + commentBeanList.get(groupPosition).getPhoto(), + groupHolder.logo, + ImageOptions + .getImageOptions(R.drawable.expert_img)); + } + groupHolder.logo.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + pd.show(); + getRelationship(mList.get(groupPosition).getUser_uuid()); + patientToDetialPos = groupPosition; + } + }); + groupHolder.tv_name.setText(commentBeanList.get(groupPosition).getName()); + groupHolder.tv_time.setText(commentBeanList.get(groupPosition).getCreate_date()); + groupHolder.tv_content.setText(commentBeanList.get(groupPosition).getContent()); + groupHolder.iv_item_comment_delete.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + buildAlert = ECAlertDialog.buildAlert( + context, "确定删除评论吗?", "取消", + "确定", 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) { + // TODO Auto-generated method stub + buildAlert.dismiss(); + String uid=mList.get(groupPosition).getComment_uuid(); + delCommentList(uid); + //mList.remove(groupPosition); + + } + }); + buildAlert.setTitle("删除评论"); + buildAlert.setCanceledOnTouchOutside(false); + buildAlert.show(); + } + }); + groupHolder.item_comment_hf.setOnClickListener(new OnClickListener() { + + // 添加回复 + @Override + public void onClick(View v) { + // TODO Auto-generated method stub + Intent intent = new Intent(GanDanDetailsActivity.this, + SettingFeedbackActivity.class); + intent.setType("comment"); + intent.putExtra("name", mList.get(groupPosition).getName()); + intent.putExtra("cotent", mList.get(groupPosition).getContent()); + replyName = mList.get(groupPosition).getName(); + replyUuid = mList.get(groupPosition).getUser_uuid(); + startActivityForResult(intent, 201); + } + }); + return convertView; + } + + @Override + public View getChildView(final int groupPosition, final int childPosition, boolean b, View convertView, ViewGroup viewGroup) { + final ChildHolder childHolder; + if(convertView == null){ + convertView = LayoutInflater.from(context).inflate(R.layout.item_comment_new,viewGroup, false); + childHolder = new ChildHolder(convertView); + convertView.setTag(childHolder); + } + else { + childHolder = (ChildHolder) convertView.getTag(); + } + if(childPosition==2&&commentBeanList.get(groupPosition).getChildList().size()>3&&!commentBeanList.get(groupPosition).getExpanded()) + { + childHolder.morer.setVisibility(View.VISIBLE); + childHolder.more.setText("— —展开更多回复"); + childHolder.more_i.setImageDrawable(getResources().getDrawable(R.drawable.exp)); + } + else + { + if(commentBeanList.get(groupPosition).getExpanded()&&(childPosition==(commentBeanList.get(groupPosition).getChildList().size()-1))) + { + childHolder.more.setText("— —收起"); + childHolder.more_i.setImageDrawable(getResources().getDrawable(R.drawable.coll)); + childHolder.morer.setVisibility(View.VISIBLE); + } + else + { + childHolder.morer.setVisibility(View.GONE); + } + } + childHolder.morer.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + + if(!commentBeanList.get(groupPosition).getExpanded()) + { + commentBeanList.get(groupPosition).setExpanded(true); + + notifyDataSetChanged(); + + } + else + { + commentBeanList.get(groupPosition).setExpanded(false); + + notifyDataSetChanged(); + + } + } + }); +// if(puuid.equals(commentBeanList.get(groupPosition).getChildList().get(childPosition).getUser_uuid())) +// { +// childHolder.iv_item_comment_delete.setVisibility(View.VISIBLE); +// } +// else +// { +// childHolder.iv_item_comment_delete.setVisibility(View.GONE); +// } + if(!TextUtils.isEmpty(commentBeanList.get(groupPosition).getChildList().get(childPosition).getCreate_date())) + { + childHolder.tv_time.setText(commentBeanList.get(groupPosition).getChildList().get(childPosition).getCreate_date()); + } + else + { + childHolder.tv_time.setText(""); + } + if (!TextUtils.isEmpty(commentBeanList.get(groupPosition).getChildList().get(childPosition).getPhoto())) { + ImageLoader + .getInstance() + .displayImage( + Url.imgUrl + commentBeanList.get(groupPosition).getChildList().get(childPosition).getPhoto(), + childHolder.logo, + ImageOptions + .getImageOptions(R.drawable.expert_img)); + } + String replyUser = commentBeanList.get(groupPosition).getChildList().get(childPosition).getName(); + if(!TextUtils.isEmpty(replyUser)){ + childHolder.tv_name.setText(replyUser); + }else { + childHolder.tv_name.setText("无名"); + } + delPos=childPosition; + childHolder.tv_content.setText(commentBeanList.get(groupPosition).getChildList().get(childPosition).getContent()); +// childHolder.iv_item_comment_delete.setOnClickListener(new View.OnClickListener() { +// +// @Override +// public void onClick(View v) { +// buildAlert = ECAlertDialog.buildAlert( +// context, "确定删除评论吗?", "取消", +// "确定", 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) { +// // TODO Auto-generated method stub +// buildAlert.dismiss(); +// String uid=mList.get(groupPosition).getChildList().get(childPosition).getComment_uuid(); +// delCommentList(uid); +// mList.get(groupPosition).getChildList().remove(childPosition); +// +// } +// }); +// buildAlert.setTitle("删除评论"); +// buildAlert.setCanceledOnTouchOutside(false); +// buildAlert.show(); +// } +// }); + return convertView; + } + + @Override + public boolean isChildSelectable(int i, int i1) { + return true; + } + + private class GroupHolder{ + private CircleImageView logo; + private ImageView iv_item_comment_delete; + private TextView tv_name, tv_content, tv_time,item_comment_hf; + // private ImageView iv_like; + public GroupHolder(View view) { + logo = (CircleImageView) view.findViewById(R.id.iv_patient_touxiang); + tv_content = (TextView) view.findViewById(R.id.item_comment_content); + tv_name = (TextView) view.findViewById(R.id.item_comment_name); + tv_time = (TextView) view.findViewById(R.id.item_comment_time); + item_comment_hf=view.findViewById(R.id.item_comment_hf); + iv_item_comment_delete=view.findViewById(R.id.iv_item_comment_delete); + // iv_like = (ImageView) view.findViewById(R.id.comment_item_like); + } + } + + private class ChildHolder{ + private CircleImageView logo; + private ImageView more_i; + private TextView tv_name, tv_content, tv_time,more; + private RelativeLayout all_child,morer; + public ChildHolder(View view) { + all_child=view.findViewById(R.id.all_child); + logo = (CircleImageView) view.findViewById(R.id.iv_patient_touxiang); + tv_content = (TextView) view.findViewById(R.id.item_comment_content); + tv_name = (TextView) view.findViewById(R.id.item_comment_name); + tv_time = (TextView) view.findViewById(R.id.item_comment_time); + //iv_item_comment_delete=view.findViewById(R.id.iv_item_comment_delete); + more=view.findViewById(R.id.more); + morer=view.findViewById(R.id.morer); + more_i=view.findViewById(R.id.more_i); + } + } + + + + } + /** + * 2018.6.14加密请求(患者端) + */ + public void sendJsonPostParamtoNetSignMD5(final String postUrl, + final Map param, final int callType) { + param.put("user_uuid", SharePrefUtil.getString(UIUtils.getContext(), "uuid", "")); + param.put("client_type", "A"); + param.put("version", UpdateVersionUtils.getVersionName()); + LogUtils.e("user_uuid+version = " + SharePrefUtil.getString(UIUtils.getContext(), "uuid", "") + "," + UpdateVersionUtils.getVersionName()); + new Thread(new Runnable() { + private HttpHelper.HttpResult httpResult; + private String result1; + + @Override + public void run() { + // TODO Auto-generated method stub + + try { + httpResult = HttpHelper.post(Url.getTimestamp, null); + if (httpResult != null) { + result1 = httpResult.getString(); + // LogUtils.e(result); + TimestampBean bean = GsonTools.fromGsonToBean(result1, TimestampBean.class); + param.put("timestamp", bean.getTimestamp()); + LogUtils.e("timestamp = " + bean.getTimestamp()); + + String encoding = "UTF-8"; + Gson gson = new Gson(); + String params = gson.toJson(param); + byte[] data; + String sign = SignUtils.getSign(param); + data = params.getBytes(encoding); + URL url = new URL(postUrl); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setDoOutput(true); + conn.setRequestProperty("Content-Type", "application/json"); + conn.setRequestProperty("sign", sign); + conn.setRequestProperty("Content-Length", String.valueOf(data.length)); + conn.setConnectTimeout(5 * 1000); + OutputStream outStream = conn.getOutputStream(); + outStream.write(data); + outStream.flush(); + outStream.close(); + if (conn.getResponseCode() == 200) { + InputStream inStream = conn.getInputStream(); + String result = new String(StreamTool.readInputStream(inStream), "UTF-8"); +// + Message message = new Message(); +// +// Bundle bundle = new Bundle(); +// bundle.putString("text1",result); + message.what = callType; + message.obj = new String(result); + Log.d("gdxzpyq","postUrl= "+postUrl+" params="+params+" result ="+result); + mHandler.sendMessage(message); + } else { + } + } + } catch (Exception e) { +// ToastUtil.showMessage("提交失败,请重试"); + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }).start(); + } } diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanHouseDetialActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanHouseDetialActivity.java index 804c90e..77e7484 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanHouseDetialActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/activity/GanDanHouseDetialActivity.java @@ -1,9 +1,16 @@ package cn.shangyu.gdxzPatient.activity; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.http.message.BasicNameValuePair; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -17,30 +24,40 @@ import com.nostra13.universalimageloader.core.ImageLoader; import cn.shangyu.gdxzPatient.R; + import cn.shangyu.gdxzPatient.application.BaseApplication; +import cn.shangyu.gdxzPatient.bean.Child; import cn.shangyu.gdxzPatient.bean.CommentBean; import cn.shangyu.gdxzPatient.bean.GanDanHouseDetialBean; import cn.shangyu.gdxzPatient.bean.GanDanHouseBean.DataBean.ListBean; import cn.shangyu.gdxzPatient.bean.GanDanHouseDetialBean.DataBean; +import cn.shangyu.gdxzPatient.bean.NewCommentBean; import cn.shangyu.gdxzPatient.bean.PatientToDetialBean; +import cn.shangyu.gdxzPatient.bean.TimestampBean; import cn.shangyu.gdxzPatient.ecdemo.common.CCPAppManager; import cn.shangyu.gdxzPatient.ecdemo.common.dialog.ECAlertDialog; import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil; import cn.shangyu.gdxzPatient.ecdemo.ui.chatting.ViewImageInfo; import cn.shangyu.gdxzPatient.http.HttpHelper; import cn.shangyu.gdxzPatient.http.HttpHelper.HttpResult; +import cn.shangyu.gdxzPatient.utils.GsonTools; import cn.shangyu.gdxzPatient.utils.ImageOptions; import cn.shangyu.gdxzPatient.utils.LogUtils; import cn.shangyu.gdxzPatient.utils.SharePrefUtil; +import cn.shangyu.gdxzPatient.utils.SignUtils; +import cn.shangyu.gdxzPatient.utils.StreamTool; import cn.shangyu.gdxzPatient.utils.StringUtil; import cn.shangyu.gdxzPatient.utils.UIUtils; +import cn.shangyu.gdxzPatient.utils.UpdateVersionUtils; import cn.shangyu.gdxzPatient.utils.Url; import cn.shangyu.gdxzPatient.utils.Utility; import cn.shangyu.gdxzPatient.widget.CircleImageView; +import cn.shangyu.gdxzPatient.widget.CommentExpandableListView; import cn.shangyu.gdxzPatient.widget.CustomProgressDialog; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.graphics.drawable.Drawable; @@ -48,6 +65,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.TextUtils; +import android.util.Log; import android.view.Display; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -55,8 +73,10 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.WindowManager; -import android.widget.BaseAdapter; + +import android.widget.BaseExpandableListAdapter; import android.widget.Button; +import android.widget.ExpandableListView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; @@ -68,23 +88,25 @@ public class GanDanHouseDetialActivity extends Activity implements private String uuid; private CustomProgressDialog pd; private Button btn_add_com; - private List mList = new ArrayList<>();// 评论数据的集合 - private PullToRefreshListView mLv_PL; + private List mList = new ArrayList<>();// 评论数据的集合 + //private PullToRefreshListView mLv_PL; private RelativeLayout ll_emptys, back; private int page = 1; private TextView tv_all_video; - private View top_view; + //private View top_view; private String mPatientUuid;// 发表话题患者的uuid - + private CommentExpandableListView expandableListView; + private CommentExpandAdapter adapterex; + private int totalcoment=0; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // ganDanDetailsActivity = new GanDanDetailsActivity(); setContentView(R.layout.activity_house_detial); - top_view = UIUtils.inflate(R.layout.activity_house_top); - mLv_PL = (PullToRefreshListView) findViewById(R.id.lv_house_com); + //top_view = findViewById(R.layout.activity_house_top); + //mLv_PL = (PullToRefreshListView) findViewById(R.id.lv_house_com); ll_emptys = (RelativeLayout) findViewById(R.id.ll_empty); top_title = (TextView) findViewById(R.id.top_title); top_title.setText("话题详情"); @@ -93,47 +115,34 @@ public class GanDanHouseDetialActivity extends Activity implements top_back = (ImageView) findViewById(R.id.top_back); tv_all_video = (TextView) findViewById(R.id.tv_all_video); pd = new CustomProgressDialog(this, "请稍候"); - tv_gd_house_num = (TextView) top_view - .findViewById(R.id.tv_gd_house_num); + tv_gd_house_num = findViewById(R.id.tv_gd_house_num); - im_pic = (CircleImageView) top_view.findViewById(R.id.im_pic); + im_pic = (CircleImageView)findViewById(R.id.im_pic); im_pic.setOnClickListener(this); - tv_case_name = (TextView) top_view.findViewById(R.id.tv_case_name); - tv_gandan_comments = (TextView) top_view - .findViewById(R.id.tv_gandan_comments); - tv_comment = (TextView) top_view.findViewById(R.id.tv_gandan_comment); - tv_tag_2 = (TextView) top_view.findViewById(R.id.tv_tag_02); - tv_tag_1 = (TextView) top_view.findViewById(R.id.tv_tag_01); - tv_tag_3 = (TextView) top_view.findViewById(R.id.tv_tag_03); + tv_case_name = (TextView)findViewById(R.id.tv_case_name); + tv_gandan_comments = (TextView)findViewById(R.id.tv_gandan_comments); + tv_comment = (TextView) findViewById(R.id.tv_gandan_comment); + tv_tag_2 = (TextView) findViewById(R.id.tv_tag_02); + tv_tag_1 = (TextView) findViewById(R.id.tv_tag_01); + tv_tag_3 = (TextView)findViewById(R.id.tv_tag_03); btn_add_com = (Button) findViewById(R.id.btn_add_com); btn_add_com.setOnClickListener(this); - tv_case_date = (TextView) top_view.findViewById(R.id.tv_case_date); - dis_img_01 = (ImageView) top_view.findViewById(R.id.dis_img_01); - dis_img_02 = (ImageView) top_view.findViewById(R.id.dis_img_02); - dis_img_03 = (ImageView) top_view.findViewById(R.id.dis_img_03); - ll_imgs = (LinearLayout) top_view.findViewById(R.id.ll_imgs); - ll_tags = (LinearLayout) top_view.findViewById(R.id.ll_tags); + tv_case_date = (TextView)findViewById(R.id.tv_case_date); + dis_img_01 = (ImageView) findViewById(R.id.dis_img_01); + dis_img_02 = (ImageView) findViewById(R.id.dis_img_02); + dis_img_03 = (ImageView) findViewById(R.id.dis_img_03); + ll_imgs = (LinearLayout) findViewById(R.id.ll_imgs); + ll_tags = (LinearLayout)findViewById(R.id.ll_tags); top_back.setVisibility(View.VISIBLE); - + expandableListView = (CommentExpandableListView) findViewById(R.id.detail_page_lv_comment); if (SharePrefUtil.getBoolean(GanDanHouseDetialActivity.this, "show_full_screen_dialog", false) == false) { showFullScreenDialog(); } else { pd.show(); } - // top_back.setOnClickListener(new OnClickListener() { - // @Override - // public void onClick(View v) { - // // TODO Auto-generated method stub - // Intent intent = new Intent(); - // intent.putExtra("commentNumber", tv_gd_house_num.getText() - // .toString()); - // setResult(111, intent); - // ToastUtil.showMessage(tv_gd_house_num.getText() + ""); - // finish(); - // } - // }); - mLv_PL.getRefreshableView().addHeaderView(top_view); + + //mLv_PL.getRefreshableView().addHeaderView(top_view); Intent in = getIntent(); uuid = in.getStringExtra("uuid"); mPatientUuid = in.getStringExtra("patient_uuid"); @@ -150,34 +159,74 @@ public class GanDanHouseDetialActivity extends Activity implements } beans = new ArrayList<>(); getData(); - mLv_PL.setMode(Mode.BOTH); - mLv_PL.setOnRefreshListener(new OnRefreshListener2() { +// mLv_PL.setMode(Mode.BOTH); +// mLv_PL.setOnRefreshListener(new OnRefreshListener2() { +// @Override +// public void onPullDownToRefresh(PullToRefreshBase refreshView) { +// // TODO Auto-generated method stub +// if (UIUtils.isNetWorkConnected(UIUtils.getContext())) { +// // setUpdateTime(refreshView); +// mList.clear(); +// page = 1; +// getCommentList(page + ""); +// } else { +// ToastUtil.showMessage("当前网络链接不可用..请检查网络.."); +// } +// } +// +// @Override +// public void onPullUpToRefresh(PullToRefreshBase refreshView) { +// // TODO Auto-generated method stub +// if (UIUtils.isNetWorkConnected(UIUtils.getContext())) { +// page += 1; +// getCommentList(page + ""); +// } else { +// ToastUtil.showMessage("当前网络链接不可用..请检查网络.."); +// } +// } +// }); + } + /** + * 初始化评论和回复列表 + */ + private void initExpandableListView(final List commentList){ + expandableListView.setGroupIndicator(null); + //默认展开所有回复 + adapterex = new CommentExpandAdapter(this, commentList); + expandableListView.setAdapter(adapterex); + + for(int i = 0; i parameters = new ArrayList(); - BasicNameValuePair value01 = new BasicNameValuePair("uuid", - uuid); - BasicNameValuePair value02 = new BasicNameValuePair("page", - page); - parameters.add(value01); - parameters.add(value02); - HttpResult httpResult = HttpHelper.post(Url.getCommentList, - parameters);// 请求网络 - String result = httpResult.getString().trim();// str为服务器返回的json串 - // LogUtils.e("COMMENTlIST===" + result); - processData(result); - handler.sendEmptyMessage(GET_COMMENT_LIST_RESULT); + Map map = new HashMap<>(); + map.put("uuid",uuid); + sendJsonPostParamtoNetSignMD5(Url.getNewCommentList,map,GET_COMMENT_LIST_RESULT); +// List parameters = new ArrayList(); +// BasicNameValuePair value01 = new BasicNameValuePair("uuid", +// uuid); +// BasicNameValuePair value02 = new BasicNameValuePair("page", +// page); +// parameters.add(value01); +// parameters.add(value02); +// HttpResult httpResult = HttpHelper.post(Url.getCommentList, +// parameters);// 请求网络 +// String result = httpResult.getString().trim();// str为服务器返回的json串 +// // LogUtils.e("COMMENTlIST===" + result); +// processData(result); +// handler.sendEmptyMessage(GET_COMMENT_LIST_RESULT); }; }.start(); } @@ -416,15 +468,15 @@ public class GanDanHouseDetialActivity extends Activity implements // 处理请求下来的数据 private int totalCount;// 请求下来的评论总数 - private void processData(String result) { - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - if (bean.data.size() == 0 && page >= 2) { - ToastUtil.showMessage("没有更多数据了"); - } - mList.addAll(bean.data); - totalCount = bean.totalPage; - } +// private void processData(String result) { +// Gson gson = new Gson(); +// CommentBean bean = gson.fromJson(result, CommentBean.class); +// if (bean.data.size() == 0 && page >= 2) { +// ToastUtil.showMessage("没有更多数据了"); +// } +// mList.addAll(bean.data); +// totalCount = bean.totalPage; +// } private TextView top_title; private ImageView top_back, top_right_message; @@ -434,7 +486,7 @@ public class GanDanHouseDetialActivity extends Activity implements protected static final int GET_DELETE_COMMENT_RESULT = 1011; protected static final int GET_ADD_COMMENT_RESULT = 3; private List beans; - private CommentAdapter adapter; + //private CommentAdapter adapter; public CircleImageView im_pic; private int delPos;// 删除评论的位置 // 详情所需要的item @@ -486,7 +538,7 @@ public class GanDanHouseDetialActivity extends Activity implements } else { if (!TextUtils.isEmpty(mList.get(patientToDetialPos) - .getPatient_uuid())) { + .getUser_uuid())) { showRelationShipDialog(patientToDetialPos, patientToDetialCode); } else { @@ -498,56 +550,71 @@ public class GanDanHouseDetialActivity extends Activity implements case GET_DATA_SUCCESS: setData(); - getCommentList("1"); + getCommentList(); break; case GET_COMMENT_LIST_RESULT:// 获取评论信息 - mLv_PL.onRefreshComplete(); - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - // ll_emptys.setVisibility(View.VISIBLE); - } else { - mLv_PL.setMode(Mode.BOTH); - } - if (adapter == null) { - adapter = new CommentAdapter(); - mLv_PL.setAdapter(adapter); + processData((String) msg.obj); + + + if (totalcoment>0) { + //tv_gd_house_num.setText("评论" + "(" + totalcoment + ")"); + tv_gd_house_num.setText("评论"); + } else { - adapter.notifyDataSetChanged(); + + tv_gd_house_num.setText("待评论"); + } - tv_gd_house_num.setText("评论" + "(" + totalCount + ")"); - pd.dismiss(); + + initExpandableListView(mList); + //mLv_PL.onRefreshComplete(); +// if (mList.size() == 0) { +// //mLv_PL.setMode(Mode.DISABLED); +// +// } else { +// //mLv_PL.setMode(Mode.BOTH); +// } +// if (adapter == null) { +// adapter = new CommentAdapter(); +// //mLv_PL.setAdapter(adapter); +// } else { +// adapter.notifyDataSetChanged(); +// } +// tv_gd_house_num.setText("评论" + "(" + totalCount + ")"); +// pd.dismiss(); break; case GET_DELETE_COMMENT_RESULT:// 获取删除之后的评论信息 pd.dismiss(); BaseApplication.isRefreshData = true; - mList.remove(mList.get(delPos)); - delPos = -1; - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - } else { - mLv_PL.setMode(Mode.BOTH); - } - // mTvPLNum.setText("评论" + "(" + mList.size() + ")"); - // mLv_PL.setAdapter(adapter); - adapter.notifyDataSetChanged(); + getCommentList(); +// mList.remove(mList.get(delPos)); +// delPos = -1; +// if (mList.size() == 0) { +// //mLv_PL.setMode(Mode.DISABLED); +// } else { +// //mLv_PL.setMode(Mode.BOTH); +// } +// +// adapter.notifyDataSetChanged(); ToastUtil.showMessage("删除成功"); - totalCount -= 1; - tv_gd_house_num.setText("评论(" + totalCount + ")"); +// totalCount -= 1; +// tv_gd_house_num.setText("评论(" + totalCount + ")"); break; case GET_ADD_COMMENT_RESULT:// 添加信息 pd.dismiss(); + getCommentList(); BaseApplication.isRefreshData = true; // mLv_PL.setAdapter(adapter); - adapter.notifyDataSetChanged(); - if (mList.size() == 0) { - mLv_PL.setMode(Mode.DISABLED); - // ll_emptys.setVisibility(View.VISIBLE); - } else { - mLv_PL.setMode(Mode.BOTH); - } - // totalCount += 1; - tv_gd_house_num.setText("评论" + "(" + totalCount + ")"); +// adapter.notifyDataSetChanged(); +// if (mList.size() == 0) { +// //mLv_PL.setMode(Mode.DISABLED); +// +// } else { +// //mLv_PL.setMode(Mode.BOTH); +// } +// +// tv_gd_house_num.setText("评论" + "(" + totalCount + ")"); ToastUtil.showMessage("评论成功"); break; @@ -556,7 +623,78 @@ public class GanDanHouseDetialActivity extends Activity implements break; } } + // 处理请求下来的数据 + private void processData(String result) { + mList.clear(); + totalcoment=0; + JSONObject jo= null; + try { + jo = new JSONObject(result); + JSONArray jsonArray = jo.getJSONArray("data"); + if(jsonArray==null||jsonArray.length()<1) + { + + } + else + { + totalcoment=jsonArray.length(); + for(int j=0;j0) + { + totalcoment+=jArr1.length(); + List childList=new ArrayList<>(); + for(int i=0;i parameters = new ArrayList(); BasicNameValuePair value01 = new BasicNameValuePair("uuid", - mList.get(pos).getComment_uuid() + ""); + Comment_uuid); parameters.add(value01); HttpResult httpResult = HttpHelper.post(Url.delCommentList, parameters); @@ -792,11 +930,12 @@ public class GanDanHouseDetialActivity extends Activity implements HttpResult httpResult = HttpHelper.post(Url.replyGanDanHouse, parameters);// 请求网络 String result = httpResult.getString();// str为服务器返回的json串 - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - - mList = bean.data; - totalCount = bean.totalPage; + Log.d("gdxzpin",parameters.toString()+" result="+result); +// Gson gson = new Gson(); +// CommentBean bean = gson.fromJson(result, CommentBean.class); +// +// //mList = bean.data; +// totalCount = bean.totalPage; handler.sendEmptyMessage(GET_ADD_COMMENT_RESULT); }; @@ -824,12 +963,13 @@ public class GanDanHouseDetialActivity extends Activity implements HttpResult httpResult = HttpHelper.post(Url.addCommentList, parameters);// 请求网络 String result = httpResult.getString();// str为服务器返回的json串 + Log.d("gdxzpin",parameters.toString()+" result="+result); - Gson gson = new Gson(); - CommentBean bean = gson.fromJson(result, CommentBean.class); - mList = bean.data; +// Gson gson = new Gson(); +// CommentBean bean = gson.fromJson(result, CommentBean.class); + //mList = bean.data; // processData(result); - totalCount = bean.totalPage; + //totalCount = bean.totalPage; handler.sendEmptyMessage(GET_ADD_COMMENT_RESULT); }; }.start(); @@ -846,7 +986,7 @@ public class GanDanHouseDetialActivity extends Activity implements break; case R.id.top_back_layout: - if (!TextUtils.isEmpty(tv_gd_house_num.getText().toString())) { + if (!StringUtil.isEmpty(tv_gd_house_num.getText().toString())) { String count = setTotalCount(tv_gd_house_num.getText() .toString()); BaseApplication.commentMap.put(uuid, Integer.parseInt(count)); @@ -867,7 +1007,7 @@ public class GanDanHouseDetialActivity extends Activity implements public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { - if (!TextUtils.isEmpty(tv_gd_house_num.getText().toString())) { + if (!StringUtil.isEmpty(tv_gd_house_num.getText().toString())) { String count = setTotalCount(tv_gd_house_num.getText() .toString()); BaseApplication.commentMap.put(uuid, Integer.parseInt(count)); @@ -885,13 +1025,13 @@ public class GanDanHouseDetialActivity extends Activity implements private String setTotalCount(String str) { - String counts = ""; - for (int i = 0; i < str.length(); i++) { - char c = str.charAt(i); - if (c == '(') { - counts = str.substring(i + 1, str.length() - 1); - } - } + String counts = ""+totalcoment; +// for (int i = 0; i < str.length(); i++) { +// char c = str.charAt(i); +// if (c == '(') { +// counts = str.substring(i + 1, str.length() - 1); +// } +// } return counts; } @@ -957,113 +1097,121 @@ public class GanDanHouseDetialActivity extends Activity implements private int patientToDetialPos; - private class CommentAdapter extends BaseAdapter { + + String replyUuid; + public class CommentExpandAdapter extends BaseExpandableListAdapter { + private static final String TAG = "CommentExpandAdapter"; + private List commentBeanList; + private List replyBeanList; + private Context context; + private int pageIndex = 1; + ECAlertDialog buildAlert; + private int delPos;// 删除评论的位置 + public CommentExpandAdapter(Context context, List commentBeanList) { + this.context = context; + this.commentBeanList = commentBeanList; + } @Override - public int getCount() { - // TODO Auto-generated method stub - return mList.size(); + public int getGroupCount() { + return commentBeanList.size(); } @Override - public Object getItem(int arg0) { - // TODO Auto-generated method stub - return mList.get(arg0); + public int getChildrenCount(int i) { + if(commentBeanList.get(i).getChildList() == null){ + return 0; + }else { + if(!commentBeanList.get(i).getExpanded()&&commentBeanList.get(i).getChildList().size()>3) + { + return 3; + } + else + { + return commentBeanList.get(i).getChildList().size()>0 ? commentBeanList.get(i).getChildList().size():0; + } + + } + } @Override - public long getItemId(int arg0) { - // TODO Auto-generated method stub - return 0; + public Object getGroup(int i) { + return commentBeanList.get(i); } @Override - public View getView(final int position, View convertView, ViewGroup arg2) { - // TODO Auto-generated method stub - ViewHolder vh = null; - if (convertView == null) { - convertView = UIUtils.inflate(R.layout.item_comment); - vh = new ViewHolder(); - vh.mIv_delete = (ImageView) convertView - .findViewById(R.id.iv_item_comment_delete); - vh.mIv_tou = (ImageView) convertView - .findViewById(R.id.iv_patient_touxiang); - vh.mTv_content = (TextView) convertView - .findViewById(R.id.item_comment_content); - vh.mTv_name = (TextView) convertView - .findViewById(R.id.item_comment_name); - vh.mTv_time = (TextView) convertView - .findViewById(R.id.item_comment_time); - vh.mTv_hf = (TextView) convertView - .findViewById(R.id.item_comment_hf); - convertView.setTag(vh); - } else { - vh = (ViewHolder) convertView.getTag(); - } - // 点击头像加好友 - vh.mIv_tou.setOnClickListener(new OnClickListener() { + public Object getChild(int i, int i1) { + return commentBeanList.get(i).getChildList().get(i1); + } + + @Override + public long getGroupId(int groupPosition) { + return groupPosition; + } + @Override + public long getChildId(int groupPosition, int childPosition) { + return getCombinedChildId(groupPosition, childPosition); + } + + @Override + public boolean hasStableIds() { + return true; + } + + @Override + public View getGroupView(final int groupPosition, boolean isExpand, View convertView, ViewGroup viewGroup) { + final GroupHolder groupHolder; + + if(convertView == null){ + convertView = LayoutInflater.from(context).inflate(R.layout.item_comment_new_p, viewGroup, false); + groupHolder = new GroupHolder(convertView); + convertView.setTag(groupHolder); + }else { + groupHolder = (GroupHolder) convertView.getTag(); + } + if(puuid.equals(commentBeanList.get(groupPosition).getUser_uuid())) + { + groupHolder.iv_item_comment_delete.setVisibility(View.VISIBLE); + groupHolder.item_comment_hf.setVisibility(View.GONE); + } + else + { + groupHolder.iv_item_comment_delete.setVisibility(View.GONE); + groupHolder.item_comment_hf.setVisibility(View.VISIBLE); + } + if (!TextUtils.isEmpty(commentBeanList.get(groupPosition).getPhoto())) { + ImageLoader + .getInstance() + .displayImage( + Url.imgUrl + commentBeanList.get(groupPosition).getPhoto(), + groupHolder.logo, + ImageOptions + .getImageOptions(R.drawable.expert_img)); + } + groupHolder.logo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { pd.show(); - getRelationship(mList.get(position).getPatient_uuid()); - patientToDetialPos = position; - + getRelationship(mList.get(groupPosition).getUser_uuid()); + patientToDetialPos = groupPosition; } - }); - ImageLoader.getInstance().displayImage( - Url.imgUrl + mList.get(position).getPhoto(), vh.mIv_tou, - ImageOptions.getImageOptions(R.drawable.expert_img)); - String content = mList.get(position).getComment() - .replaceAll(":", ":").replaceAll(" ", "").trim(); - // 后台返回原生数据 - // LogUtils.e(content); - - // 设置评论内容 - // vh.mTv_content.setText(Utility.matcherText(content, "\\|", - // GanDanHouseDetialActivity.this)); - // SpannableString text = Utility.matcherText(content, "\\|", - // GanDanHouseDetialActivity.this); - - // String content = new String(text); - // 换行 - // vh.mTv_content.setText(" "+Utility.replaceAll(content, "||")); - // LogUtils.e(Utility.replaceAll(content, "||")); - - String contents = Utility.replaceAll(content, "||"); - vh.mTv_content.setText(Utility.matcherText(contents, "\n\n", - GanDanHouseDetialActivity.this)); - - if (mList.get(position).getCreate_date().length() > 16) { - vh.mTv_time.setText(mList.get(position).getCreate_date() - .substring(5, 16)); - } else { - vh.mTv_time.setText(mList.get(position).getCreate_date()); - } - - vh.mTv_name.setText(mList.get(position).getRealname()); - if (puuid.equals(mList.get(position).getPatient_uuid())) { - vh.mIv_delete.setVisibility(View.VISIBLE); - vh.mTv_hf.setVisibility(View.GONE); - } else { - vh.mIv_delete.setVisibility(View.GONE); - vh.mTv_hf.setVisibility(View.VISIBLE); - } - vh.mIv_delete.setTag(position); - vh.mIv_delete.setOnClickListener(new OnClickListener() { + groupHolder.tv_name.setText(commentBeanList.get(groupPosition).getName()); + groupHolder.tv_time.setText(commentBeanList.get(groupPosition).getCreate_date()); + groupHolder.tv_content.setText(commentBeanList.get(groupPosition).getContent()); + groupHolder.iv_item_comment_delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - // TODO Auto-generated method stub - // delVisit((Integer) v.getTag()); buildAlert = ECAlertDialog.buildAlert( - GanDanHouseDetialActivity.this, "确定删除评论吗?", "取消", + context, "确定删除评论吗?", "取消", "确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, - int which) {// 取消 + int which) {// 取消 // TODO Auto-generated method stub buildAlert.dismiss(); } @@ -1072,11 +1220,12 @@ public class GanDanHouseDetialActivity extends Activity implements @Override public void onClick(DialogInterface dialog, - int which) { + int which) { // TODO Auto-generated method stub buildAlert.dismiss(); - delPos = position; - delCommentList(position); + String uid=mList.get(groupPosition).getComment_uuid(); + delCommentList(uid); + //mList.remove(groupPosition); } }); @@ -1085,8 +1234,7 @@ public class GanDanHouseDetialActivity extends Activity implements buildAlert.show(); } }); - vh.mTv_hf.setTag(position); - vh.mTv_hf.setOnClickListener(new OnClickListener() { + groupHolder.item_comment_hf.setOnClickListener(new OnClickListener() { // 添加回复 @Override @@ -1095,19 +1243,244 @@ public class GanDanHouseDetialActivity extends Activity implements Intent intent = new Intent(GanDanHouseDetialActivity.this, SettingFeedbackActivity.class); intent.setType("comment"); - intent.putExtra("name", mList.get(position).getRealname()); - intent.putExtra("cotent", mList.get(position).getComment()); - replyName = mList.get(position).getRealname(); - replyUuid = mList.get(position).getPatient_uuid(); - // articleUuid =mList.get(position).get + intent.putExtra("name", mList.get(groupPosition).getName()); + intent.putExtra("cotent", mList.get(groupPosition).getContent()); + replyName = mList.get(groupPosition).getName(); + replyUuid = mList.get(groupPosition).getUser_uuid(); + startActivityForResult(intent, 201); + } + }); + return convertView; + } - startActivityForResult(intent, 8); + @Override + public View getChildView(final int groupPosition, final int childPosition, boolean b, View convertView, ViewGroup viewGroup) { + final ChildHolder childHolder; + if(convertView == null){ + convertView = LayoutInflater.from(context).inflate(R.layout.item_comment_new,viewGroup, false); + childHolder = new ChildHolder(convertView); + convertView.setTag(childHolder); + } + else { + childHolder = (ChildHolder) convertView.getTag(); + } + if(childPosition==2&&commentBeanList.get(groupPosition).getChildList().size()>3&&!commentBeanList.get(groupPosition).getExpanded()) + { + childHolder.morer.setVisibility(View.VISIBLE); + childHolder.more.setText("— —展开更多回复"); + childHolder.more_i.setImageDrawable(getResources().getDrawable(R.drawable.exp)); + } + else + { + if(commentBeanList.get(groupPosition).getExpanded()&&(childPosition==(commentBeanList.get(groupPosition).getChildList().size()-1))) + { + childHolder.more.setText("— —收起"); + childHolder.more_i.setImageDrawable(getResources().getDrawable(R.drawable.coll)); + childHolder.morer.setVisibility(View.VISIBLE); + } + else + { + childHolder.morer.setVisibility(View.GONE); + } + } + childHolder.morer.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + + if(!commentBeanList.get(groupPosition).getExpanded()) + { + commentBeanList.get(groupPosition).setExpanded(true); + + notifyDataSetChanged(); + + } + else + { + commentBeanList.get(groupPosition).setExpanded(false); + + notifyDataSetChanged(); + + } } }); +// if(puuid.equals(commentBeanList.get(groupPosition).getChildList().get(childPosition).getUser_uuid())) +// { +// childHolder.iv_item_comment_delete.setVisibility(View.VISIBLE); +// } +// else +// { +// childHolder.iv_item_comment_delete.setVisibility(View.GONE); +// } + if(!TextUtils.isEmpty(commentBeanList.get(groupPosition).getChildList().get(childPosition).getCreate_date())) + { + childHolder.tv_time.setText(commentBeanList.get(groupPosition).getChildList().get(childPosition).getCreate_date()); + } + else + { + childHolder.tv_time.setText(""); + } + if (!TextUtils.isEmpty(commentBeanList.get(groupPosition).getChildList().get(childPosition).getPhoto())) { + ImageLoader + .getInstance() + .displayImage( + Url.imgUrl + commentBeanList.get(groupPosition).getChildList().get(childPosition).getPhoto(), + childHolder.logo, + ImageOptions + .getImageOptions(R.drawable.expert_img)); + } + String replyUser = commentBeanList.get(groupPosition).getChildList().get(childPosition).getName(); + if(!TextUtils.isEmpty(replyUser)){ + childHolder.tv_name.setText(replyUser); + }else { + childHolder.tv_name.setText("无名"); + } + delPos=childPosition; + childHolder.tv_content.setText(commentBeanList.get(groupPosition).getChildList().get(childPosition).getContent()); +// childHolder.iv_item_comment_delete.setOnClickListener(new View.OnClickListener() { +// +// @Override +// public void onClick(View v) { +// buildAlert = ECAlertDialog.buildAlert( +// context, "确定删除评论吗?", "取消", +// "确定", 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) { +// // TODO Auto-generated method stub +// buildAlert.dismiss(); +// String uid=mList.get(groupPosition).getChildList().get(childPosition).getComment_uuid(); +// delCommentList(uid); +// mList.get(groupPosition).getChildList().remove(childPosition); +// +// } +// }); +// buildAlert.setTitle("删除评论"); +// buildAlert.setCanceledOnTouchOutside(false); +// buildAlert.show(); +// } +// }); return convertView; } + + @Override + public boolean isChildSelectable(int i, int i1) { + return true; + } + + private class GroupHolder{ + private CircleImageView logo; + private ImageView iv_item_comment_delete; + private TextView tv_name, tv_content, tv_time,item_comment_hf; + // private ImageView iv_like; + public GroupHolder(View view) { + logo = (CircleImageView) view.findViewById(R.id.iv_patient_touxiang); + tv_content = (TextView) view.findViewById(R.id.item_comment_content); + tv_name = (TextView) view.findViewById(R.id.item_comment_name); + tv_time = (TextView) view.findViewById(R.id.item_comment_time); + item_comment_hf=view.findViewById(R.id.item_comment_hf); + iv_item_comment_delete=view.findViewById(R.id.iv_item_comment_delete); + // iv_like = (ImageView) view.findViewById(R.id.comment_item_like); + } + } + + private class ChildHolder{ + private CircleImageView logo; + private ImageView more_i; + private TextView tv_name, tv_content, tv_time,more; + private RelativeLayout all_child,morer; + public ChildHolder(View view) { + all_child=view.findViewById(R.id.all_child); + logo = (CircleImageView) view.findViewById(R.id.iv_patient_touxiang); + tv_content = (TextView) view.findViewById(R.id.item_comment_content); + tv_name = (TextView) view.findViewById(R.id.item_comment_name); + tv_time = (TextView) view.findViewById(R.id.item_comment_time); + //iv_item_comment_delete=view.findViewById(R.id.iv_item_comment_delete); + more=view.findViewById(R.id.more); + morer=view.findViewById(R.id.morer); + more_i=view.findViewById(R.id.more_i); + } + } + + + } + /** + * 2018.6.14加密请求(患者端) + */ + public void sendJsonPostParamtoNetSignMD5(final String postUrl, + final Map param, final int callType) { + param.put("user_uuid", SharePrefUtil.getString(UIUtils.getContext(), "uuid", "")); + param.put("client_type", "A"); + param.put("version", UpdateVersionUtils.getVersionName()); + LogUtils.e("user_uuid+version = " + SharePrefUtil.getString(UIUtils.getContext(), "uuid", "") + "," + UpdateVersionUtils.getVersionName()); + new Thread(new Runnable() { + private HttpHelper.HttpResult httpResult; + private String result1; - String replyUuid; + @Override + public void run() { + // TODO Auto-generated method stub + + try { + httpResult = HttpHelper.post(Url.getTimestamp, null); + if (httpResult != null) { + result1 = httpResult.getString(); + // LogUtils.e(result); + TimestampBean bean = GsonTools.fromGsonToBean(result1, TimestampBean.class); + param.put("timestamp", bean.getTimestamp()); + LogUtils.e("timestamp = " + bean.getTimestamp()); + + String encoding = "UTF-8"; + Gson gson = new Gson(); + String params = gson.toJson(param); + byte[] data; + String sign = SignUtils.getSign(param); + data = params.getBytes(encoding); + URL url = new URL(postUrl); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setDoOutput(true); + conn.setRequestProperty("Content-Type", "application/json"); + conn.setRequestProperty("sign", sign); + conn.setRequestProperty("Content-Length", String.valueOf(data.length)); + conn.setConnectTimeout(5 * 1000); + OutputStream outStream = conn.getOutputStream(); + outStream.write(data); + outStream.flush(); + outStream.close(); + if (conn.getResponseCode() == 200) { + InputStream inStream = conn.getInputStream(); + String result = new String(StreamTool.readInputStream(inStream), "UTF-8"); +// + Message message = new Message(); +// +// Bundle bundle = new Bundle(); +// bundle.putString("text1",result); + message.what = callType; + message.obj = new String(result); + Log.d("gdxzpyq","hhh "+result); + handler.sendMessage(message); + } else { + + } + } + } catch (Exception e) { +// ToastUtil.showMessage("提交失败,请重试"); + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }).start(); + } } diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/activity/HospitalDetialActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/activity/HospitalDetialActivity.java index 7016d13..51d4e4f 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/activity/HospitalDetialActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/activity/HospitalDetialActivity.java @@ -525,6 +525,11 @@ public class HospitalDetialActivity extends BaseActivity implements .getGandanHospitalMsssage().get(1) .getPublish_realname().substring(0, 1) + "**"); + }else + { + tv_patient_name2.setText("(**"); + } + tv_doc_comprehensive2.setText(bean.getData() .getGandanHospitalMsssage().get(1).getScoretotal() + ""); @@ -587,7 +592,7 @@ public class HospitalDetialActivity extends BaseActivity implements ImageOptions .getImageOptions(R.drawable.img_gandan_house)); } - } + } @@ -599,6 +604,12 @@ public class HospitalDetialActivity extends BaseActivity implements tv_patient_name.setText(bean.getData().getGandanHospitalMsssage() .get(0).getPublish_realname().substring(0, 1) + "**"); + } + else + { + tv_patient_name.setText("(**"); + } + tv_doc_comprehensive.setText(bean.getData() .getGandanHospitalMsssage().get(0).getScoretotal() + ""); @@ -653,7 +664,7 @@ public class HospitalDetialActivity extends BaseActivity implements .getImageOptions(R.drawable.img_gandan_house)); } - } + } private class GandanVideoListAdapter extends BaseAdapter { diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/activity/LeaveMsgActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/activity/LeaveMsgActivity.java index 2143b2a..0fa3bb6 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/activity/LeaveMsgActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/activity/LeaveMsgActivity.java @@ -183,9 +183,17 @@ public class LeaveMsgActivity extends BaseActivity implements LeaseMsgDataBean bean = GsonTools.fromGsonToBean(result, LeaseMsgDataBean.class); + if(!StringUtil.isEmpty(bean.getData().getPublish_realname())) + { tv_case_name1.setText(bean.getData().getPublish_realname() - .substring(0, 1) - + "**"); + .substring(0, 1) + + "**"); + } + else + { + tv_case_name1.setText("(**"); + } + tv_scoretotal1.setText(bean.getData().getScoretotal() + ""); tv_1score1.setText(bean.getData().getScore1() + ""); tv_1score2.setText(bean.getData().getScore2() + ""); diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/activity/MoreLeaseMsgActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/activity/MoreLeaseMsgActivity.java index 8b8f2dc..323083a 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/activity/MoreLeaseMsgActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/activity/MoreLeaseMsgActivity.java @@ -364,7 +364,14 @@ public class MoreLeaseMsgActivity extends BaseActivity implements } else { vh = (ViewHolder) arg1.getTag(); } + if(!StringUtil.isEmpty(DocList.get(arg0).getPublish_realname())) + { vh.tv_case_name1.setText(DocList.get(arg0).getPublish_realname().substring(0, 1)+"**"); + } + else + { + vh.tv_case_name1.setText("(**"); + } vh.tv_scoretotal1.setText(DocList.get(arg0).getScoretotal() + ""); vh.tv_1score1.setText(DocList.get(arg0).getScore1() + ""); vh.tv_1score2.setText(DocList.get(arg0).getScore2() + ""); diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingFeedbackActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingFeedbackActivity.java index a6b56be..928cf1a 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingFeedbackActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingFeedbackActivity.java @@ -3,9 +3,11 @@ package cn.shangyu.gdxzPatient.activity; import cn.shangyu.gdxzPatient.R; import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil; import cn.shangyu.gdxzPatient.utils.KeDaXunFeiUtil; +import cn.shangyu.gdxzPatient.utils.StringUtil; import android.Manifest; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.os.Build; import android.os.Bundle; @@ -14,6 +16,7 @@ import android.text.TextUtils; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; +import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.ImageButton; import android.widget.RelativeLayout; @@ -74,9 +77,24 @@ public class SettingFeedbackActivity extends Activity implements Intent intent1 = new Intent(); if (!TextUtils.isEmpty(mName.getText().toString().trim())) { + + if(StringUtil.isEmpty(name)) + { +// InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); +// imm.hideSoftInputFromWindow(mName.getWindowToken(), 0); +// intent1.putExtra("content", ""); +// SettingFeedbackActivity.this.setResult(500, intent1); //当评论用户名为空时,无法回复 + ToastUtil.showMessage("该评论无法回复"); + return; + + } + else + { intent1.putExtra("content", mName.getText().toString().trim() - + " || " + name + ":" + content); + + " || " + name + ":" + content); SettingFeedbackActivity.this.setResult(FEED_BACK, intent1); + } + finish(); finish(); } diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/activity/WriteTopicActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/activity/WriteTopicActivity.java index 5e11cbd..02bfc2d 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/activity/WriteTopicActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/activity/WriteTopicActivity.java @@ -703,10 +703,30 @@ public class WriteTopicActivity extends BaseActivity implements OnClickListener parameters); // 请求网络,添加病例 String result = httpResult.getString();// str为服务器返回的json串 + try { + if (!StringUtil.isEmpty(result)) + { + JSONObject jsonObject=new JSONObject(result); + String code=jsonObject.getString("code"); + String message=jsonObject.getString("message"); + if(StringUtil.isOneToCode(code)) + { + if (pd.isShowing()) { + pd.dismiss(); + } + ToastUtil.showMessage(message); + } + else + { + handler1.sendEmptyMessage(11); + } - if (!StringUtil.isEmpty(result)) { - handler1.sendEmptyMessage(11); + } + + } catch (JSONException e) { + e.printStackTrace(); } + }; }.start(); diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/bean/Child.java b/app/src/main/java/cn/shangyu/gdxzPatient/bean/Child.java new file mode 100644 index 0000000..8b8be62 --- /dev/null +++ b/app/src/main/java/cn/shangyu/gdxzPatient/bean/Child.java @@ -0,0 +1,78 @@ +package cn.shangyu.gdxzPatient.bean; + +public class Child { + private String comment_uuid; + private String photo; + private String user_uuid; + private String create_date; + private String parent_id; + private String name; + private String id; + private String content; + + public String getComment_uuid() { + return comment_uuid; + } + + public void setComment_uuid(String comment_uuid) { + this.comment_uuid = comment_uuid; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getUser_uuid() { + return user_uuid; + } + + public void setUser_uuid(String user_uuid) { + this.user_uuid = user_uuid; + } + + public String getCreate_date() { + return create_date; + } + + public void setCreate_date(String create_date) { + this.create_date = create_date; + } + + public String getParent_id() { + return parent_id; + } + + public void setParent_id(String parent_id) { + this.parent_id = parent_id; + } + + + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } +} diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/bean/NewCommentBean.java b/app/src/main/java/cn/shangyu/gdxzPatient/bean/NewCommentBean.java new file mode 100644 index 0000000..c0bbbba --- /dev/null +++ b/app/src/main/java/cn/shangyu/gdxzPatient/bean/NewCommentBean.java @@ -0,0 +1,192 @@ +package cn.shangyu.gdxzPatient.bean; + +import java.util.List; + +public class NewCommentBean { + /** + * + * { + * "code": "200", + * "data": [{ + * "comment_uuid": "tXZ8MkquLFWThrN29F6", + * "photo": "book/pdf/2016/20160714092534.jpg", + * "user_uuid": "3La2JEVcQKV0numtgpy", + * "create_date": "2019-12-20 11:50", + * "parent_id": null, + * "childs": [{ + * "comment_uuid": "OmR65DNd4QGsL7HWabB", + * "photo": "expert/2019-11-07/bdea2d7841f14b01a5a93c388a9040a7.jpg", + * "user_uuid": "ql4gO6C90QjOhbo4azY", + * "create_date": "2020-09-24 10:54", + * "parent_id": 0, + * "childs": [{ + * "comment_uuid": "xah8kM0SyBD6FsIk2sF", + * "photo": "expert/2020-09-17/c94da2f754884080a5502192bb94947b.jpg", + * "user_uuid": "OSUO0OxAz5n0OlnD7hH", + * "create_date": "2020-09-24 11:51", + * "parent_id": 0, + * "childs": [], + * "name": "杰瑞97", + * "id": 3, + * "content": "hh " + * }], + * "name": "高振宇", + * "id": 2, + * "content": "我们都要 "* }, { + * "comment_uuid": "xah8kM0SyBD6FsIk2sF", + * "photo": "expert/2020-09-17/c94da2f754884080a5502192bb94947b.jpg", + * "user_uuid": "OSUO0OxAz5n0OlnD7hH", + * "create_date": "2020-09-24 11:51", + * "parent_id": 0, + * "childs": [], + * "name": "杰瑞97", + * "id": 3, + * "content": "hh "* }, { + * "comment_uuid": "EqoeYpHaqgRh0YDwqsE", + * "photo": "expert/2019-11-07/bdea2d7841f14b01a5a93c388a9040a7.jpg", + * "user_uuid": "ql4gO6C90QjOhbo4azY", + * "create_date": "2020-09-24 14:25", + * "parent_id": 0, + * "childs": [], + * "name": "高振宇", + * "id": 4, + * "content": "我们都要学会感恩回馈大家分享一个样纸,这些都不知道是哪个部门的 "* }, { + * "comment_uuid": "vgQrSB8QbixOq7qsYuo", + * "photo": "expert/2019-11-07/bdea2d7841f14b01a5a93c388a9040a7.jpg", + * "user_uuid": "ql4gO6C90QjOhbo4azY", + * "create_date": "2020-09-24 15:30", + * "parent_id": 0, + * "childs": [], + * "name": "高振宇", + * "id": 7, + * "content": "你们是谁呀、在一起就是这么简单吗……这种事情一定不会改变。 "* }], + * "name": "杰瑞9", + * "id": 0, + * "content": "时候" + * }, { + * "comment_uuid": "XZRem95LLanRn2aS9fl", + * "photo": "book/pdf/2016/20160714092534.jpg", + * "user_uuid": "uGHPjruuHHz6IUqpROv", + * "create_date": "2019-12-20 14:30", + * "parent_id": null, + * "childs": [{ + * "comment_uuid": "euK0PIKiNIJPoW4q6XK", + * "photo": "expert/2019-11-07/bdea2d7841f14b01a5a93c388a9040a7.jpg", + * "user_uuid": "ql4gO6C90QjOhbo4azY", + * "create_date": "2020-09-24 14:41", + * "parent_id": 1, + * "childs": [], + * "name": "高振宇", + * "id": 5, + * "content": "我想要去皮的冲动……我们的生活方式越来越远。一直都在你身上你永远不知道是你不知道自己是什么样子才发现 "* }], + * "name": "杰瑞1", + * "id": 1, + * "content": "图图" + * }, { + * "comment_uuid": "i7pVx5Oho5bDZSbIRnL", + * "photo": "expert/2019-11-07/bdea2d7841f14b01a5a93c388a9040a7.jpg", + * "user_uuid": "ql4gO6C90QjOhbo4azY", + * "create_date": "2020-09-24 14:42", + * "parent_id": null, + * "childs": [], + * "name": "高振宇", + * "id": 6, + * "content": "我们的爱情就是说了一场恋爱的恋爱了……在于我们" + * }], + * "message": "查询成功" + * }*/ + private String comment_uuid; + private String photo; + private String user_uuid; + private String create_date; + private String parent_id; + private String name; + private String id; + private String content; + private List childList; + private Boolean isExpanded;//评论列表是否展开 + + public Boolean getExpanded() { + return isExpanded; + } + + public void setExpanded(Boolean expanded) { + isExpanded = expanded; + } + + public List getChildList() { + return childList; + } + + public void setChildList(List childList) { + this.childList = childList; + } + + public String getComment_uuid() { + return comment_uuid; + } + + public void setComment_uuid(String comment_uuid) { + this.comment_uuid = comment_uuid; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getUser_uuid() { + return user_uuid; + } + + public void setUser_uuid(String user_uuid) { + this.user_uuid = user_uuid; + } + + public String getCreate_date() { + return create_date; + } + + public void setCreate_date(String create_date) { + this.create_date = create_date; + } + + public String getParent_id() { + return parent_id; + } + + public void setParent_id(String parent_id) { + this.parent_id = parent_id; + } + + + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + +} diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/PointsMallActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/PointsMallActivity.java index a62d085..ab52952 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/PointsMallActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/PointsMallActivity.java @@ -24,11 +24,13 @@ import cn.shangyu.gdxzPatient.utils.ImageOptions; import cn.shangyu.gdxzPatient.utils.LogUtils; import cn.shangyu.gdxzPatient.utils.UIUtils; import cn.shangyu.gdxzPatient.utils.Url; +import cn.shangyu.gdxzPatient.view.DrawableCenterButton; import cn.shangyu.gdxzPatient.view.RollViewPager; import cn.shangyu.gdxzPatient.view.RollViewPager.OnPagerClickCallback; import cn.shangyu.gdxzPatient.widget.CustomProgressDialog; import cn.shangyu.gdxzPatient.widget.LoadingPage.ResultState; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.Message; import android.support.v4.view.ViewPager.LayoutParams; @@ -62,6 +64,11 @@ public class PointsMallActivity extends BaseActivity implements OnClickListener, private ArrayList titleList; protected static final int GET_DATA_SUCCESS = 0; // 请求数据成功的结果码 private LinearLayout ll_integraltickit,ll_buy_point; + private DrawableCenterButton cb_exchange,cb_score,cb_shelf; + private Boolean cb_exchangeb=false; + private Boolean cb_scoreb=false; + private Boolean cb_shelfb=true; + private String sort ="1"; private Handler handler = new Handler() { public void handleMessage(Message msg) { pd.dismiss(); @@ -122,13 +129,16 @@ public class PointsMallActivity extends BaseActivity implements OnClickListener, ll_buy_point = view.findViewById(R.id.ll_buy_point); HeaderGridView refreshableView = gv_product.getRefreshableView(); ll_empty = (LinearLayout) View.inflate(UIUtils.getContext(),R.layout.layout_empty, null); - headerView = (RelativeLayout) getLayoutInflater().inflate(R.layout.activity_points_banner, null); + 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; @@ -144,10 +154,99 @@ public class PointsMallActivity extends BaseActivity implements OnClickListener, pd.show(); gv_product.setMode(Mode.BOTH); refreshableView.setNumColumns(2); - refreshableView.addHeaderView(headerView); + // refreshableView.addHeaderView(headerView); gv_product.setEmptyView(ll_empty); initListViewTipText(); getData(); + final Drawable drawable_n = getResources().getDrawable(R.drawable.cb_nocheck); + drawable_n.setBounds(0, 0, drawable_n.getMinimumWidth(),drawable_n.getMinimumHeight()); //此为必须写的 + final Drawable drawable_s = getResources().getDrawable(R.drawable.icon_new); + drawable_s.setBounds(0, 0, drawable_n.getMinimumWidth(),drawable_n.getMinimumHeight()); //此为必须写的 + final Drawable drawable_d = getResources().getDrawable(R.drawable.icon_hot); + drawable_d.setBounds(0, 0, drawable_n.getMinimumWidth(),drawable_n.getMinimumHeight()); //此为必须写的 + cb_exchange.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + cb_exchange.setTextColor(getResources().getColor(R.color.tab_text_sel)); + cb_shelfb=false; + cb_shelf.setTextColor(getResources().getColor(R.color.tab_text_nor)); + cb_shelf.setCompoundDrawables(null, null, drawable_n, null); + cb_scoreb=false; + cb_score.setTextColor(getResources().getColor(R.color.tab_text_nor)); + 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_score.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + cb_score.setTextColor(getResources().getColor(R.color.tab_text_sel)); + cb_shelfb=false; + cb_shelf.setTextColor(getResources().getColor(R.color.tab_text_nor)); + cb_shelf.setCompoundDrawables(null, null, drawable_n, null); + cb_exchangeb=false; + cb_exchange.setTextColor(getResources().getColor(R.color.tab_text_nor)); + 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_shelf.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + cb_shelf.setTextColor(getResources().getColor(R.color.tab_text_sel)); + cb_exchangeb=false; + cb_exchange.setTextColor(getResources().getColor(R.color.tab_text_nor)); + cb_exchange.setCompoundDrawables(null, null, drawable_n, null); + cb_scoreb=false; + cb_score.setTextColor(getResources().getColor(R.color.tab_text_nor)); + 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(); + + } + } + }); beans = new ArrayList<>(); getHeadScrollImg(); gv_product.setOnItemClickListener(this); @@ -168,6 +267,7 @@ public class PointsMallActivity extends BaseActivity implements OnClickListener, if (UIUtils.isNetWorkConnected(UIUtils.getContext())) { Map param = new HashMap<>(); param.put("page",startPage +""); + param.put("sort",sort); sendJsonPostParamtoNetSignMD5(Url.goodsList, param, 1, this); } else { pd.dismiss(); @@ -394,9 +494,9 @@ public class PointsMallActivity extends BaseActivity implements OnClickListener, long id) { // TODO Auto-generated method stub Intent intent = new Intent(PointsMallActivity.this,ProductDetailActivity.class); - intent.putExtra("uuid", beans.get(position-2).getUuid()); - intent.putExtra("type", beans.get(position-2).getType()); - intent.putExtra("name", beans.get(position-2).getName()); + intent.putExtra("uuid", beans.get(position).getUuid()); + intent.putExtra("type", beans.get(position).getType()); + intent.putExtra("name", beans.get(position).getName()); startActivity(intent); } @@ -405,6 +505,7 @@ public class PointsMallActivity extends BaseActivity implements OnClickListener, public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { + case R.id.top_right_text: Intent intent = new Intent(PointsMallActivity.this,MyExchangeActivity.class); startActivity(intent); diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/ProductDetailActivity.java b/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/ProductDetailActivity.java index 15ebcb5..4eb7050 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/ProductDetailActivity.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/pointsmall/ProductDetailActivity.java @@ -22,6 +22,7 @@ import cn.shangyu.gdxzPatient.view.RollViewPager.OnPagerClickCallback; import cn.shangyu.gdxzPatient.widget.CustomProgressDialog; import cn.shangyu.gdxzPatient.widget.LoadingPage.ResultState; import android.content.Intent; +import android.graphics.Bitmap; import android.os.Build; import android.support.v4.view.ViewPager.LayoutParams; import android.text.TextPaint; @@ -99,7 +100,7 @@ public class ProductDetailActivity extends BaseActivity implements OnClickListen wv = view.findViewById(R.id.wv); dots_ll = (LinearLayout) view.findViewById(R.id.dots_ll); productshow = (TextView) view.findViewById(R.id.productshow); - loadurl(wv, "file:///android_asset/error/error.html"); +// loadurl(wv, "file:///android_asset/error/error.html"); // WebSettings setting = wv.getSettings(); // setting.setCacheMode(WebSettings.LOAD_DEFAULT); // // settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); @@ -262,6 +263,32 @@ public class ProductDetailActivity extends BaseActivity implements OnClickListen LogUtils.e("url = "+url); view.loadUrl(url); + view.setWebViewClient(new WebViewClient(){ + + + @Override + public void onPageStarted(WebView view, String url, Bitmap favicon) { + super.onPageStarted(view, url, favicon); + } + + @Override + public void onPageFinished(WebView view, String url) { + super.onPageFinished(view, url); + } + + @Override + public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { + loadurl(wv, "file:///android_asset/error/error.html"); + //super.onReceivedError(view, errorCode, description, failingUrl); + } + + public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){ + + handler.proceed(); + + } + }); + } /** diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java b/app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java index 2effc3a..4a3c42b 100644 --- a/app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java +++ b/app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java @@ -17,31 +17,33 @@ public class Url { // public static String imgUrl="http://192.168.1.11:8081/gdxz/";//图片地址的拼接 b // --------------------------------------------------------------------------------------------------------- // 肝胆相照正式服务器 -// public static String url = "http://app.igandan.com/app/patient/"; -// public static String urlNew = "http://app.igandan.com/app/patientApp/"; -// public static String imgUrl = "http://doc.igandan.com/app/";// 图片地址的拼接 -// public static String upLoadUrl = "http://app.igandan.com/app/upload/"; -// public static String zcxy = "http://app.igandan.com/patient_zcxy.jsp"; -// public static String urlVer = "http://app.igandan.com/app/"; -// public static String urlH5 = "http://wx.igandan.com/"; -// public static String urlmyLan = "https://app.igandan.com/app/patientAPI/";//迈兰、 -// public static String urlping = "https://app.igandan.com/app/pingPatient/";//ping -// public static String polvId = "22";//保利威视学员id + public static String url = "http://app.igandan.com/app/patient/"; + public static String urlNew = "http://app.igandan.com/app/patientApp/"; + public static String imgUrl = "http://doc.igandan.com/app/";// 图片地址的拼接 + public static String upLoadUrl = "http://app.igandan.com/app/upload/"; + public static String zcxy = "http://app.igandan.com/patient_zcxy.jsp"; + public static String urlVer = "http://app.igandan.com/app/"; + public static String urlH5 = "http://wx.igandan.com/"; + public static String urlmyLan = "https://app.igandan.com/app/patientAPI/";//迈兰、 + public static String urlping = "https://app.igandan.com/app/pingPatient/";//ping + public static String getExpertQrcode = "http://app.igandan.com/app/expert/" + "getExpertQrcode"; // 获取二维码 + public static String qrCode = "http://wx.igandan.com/expert/expertcodeimg?expert_uuid=";//专家二维码页面分享链接 + public static String polvId = "22";//保利威视学员id // --------------------------------------------------------------------------------------------------------- //肝胆相照测试 - public static String urlVer = "https://tapp.igandan.org/app/";// - public static String url = "https://tapp.igandan.org/app/patient/";// - public static String urlNew = "https://tapp.igandan.org/app/patientApp/";// - public static String imgUrl = "http://tdoc.igandan.org/app/";// - public static String upLoadUrl = "https://tapp.igandan.org/app/upload";// - public static String zcxy = "https://tapp.igandan.org/patient_zcxy.jsp";// - public static String urlH5 = "https://tapp.igandan.org/";// - public static String urlmyLan = "https://tapp.igandan.org/app/patientAPI/";//迈兰 - public static String urlping = "https://tapp.igandan.org/app/pingPatient/";//ping - public static String getExpertQrcode = "https://tapp.igandan.org//app/expert/" + "getExpertQrcode"; // 获取二维码 - public static String qrCode = "http://twx.igandan.org/expert/expertcodeimg?expert_uuid=";//专家二维码页面分享链接: - public static String polvId = "12";//保利威视学员id +// public static String urlVer = "https://tapp.igandan.org/app/";// +// public static String url = "https://tapp.igandan.org/app/patient/";// +// public static String urlNew = "https://tapp.igandan.org/app/patientApp/";// +// public static String imgUrl = "http://tdoc.igandan.org/app/";// +// public static String upLoadUrl = "https://tapp.igandan.org/app/upload";// +// public static String zcxy = "https://tapp.igandan.org/patient_zcxy.jsp";// +// public static String urlH5 = "https://tapp.igandan.org/";// +// public static String urlmyLan = "https://tapp.igandan.org/app/patientAPI/";//迈兰 +// public static String urlping = "https://tapp.igandan.org/app/pingPatient/";//ping +// public static String getExpertQrcode = "https://tapp.igandan.org//app/expert/" + "getExpertQrcode"; // 获取二维码 +// public static String qrCode = "http://twx.igandan.org/expert/expertcodeimg?expert_uuid=";//专家二维码页面分享链接: +// public static String polvId = "12";//保利威视学员id /*****************************************************/ // public static String imgUrl = "http://192.168.100.99:8080/Mgdxz/"; @@ -181,7 +183,7 @@ public class Url { public static String getVisitData = url + "followUpList";// 获取随访记录 public static String getTeachDataNew = url + "noviceListNew";// 获取新手教程 - + public static String getNewCommentList = urlmyLan + "listTransformComment";// 新获取评论列表 public static String getCommentList = urlNew + "commentList";// 获取肝胆活动的评论 public static String addCommentList = urlNew + "addComment";// 添加肝胆活动的评论 @@ -325,7 +327,7 @@ public class Url { public static String bonusPointsPayList = urlNew+"bonusPointsPayList";//积分支出列表 public static String myBonusPoints = urlNew+"myBonusPoints";//我的积分详情 public static String goodsNewsList = urlNew+"goodsNewsList";//轮播图 - public static String goodsList = urlNew+"goodsList";//商品分页查询 + public static String goodsList = urlmyLan+"goodsList";//商品分页查询 public static String getGoods = urlNew+"getGoods";//查询商品详情 public static String createGoodsOrder = urlNew+"createGoodsOrder";//创建积分商城订单 public static String payGoodsOrder = urlNew+"payGoodsOrder";//支付订单 diff --git a/app/src/main/java/cn/shangyu/gdxzPatient/widget/CommentExpandableListView.java b/app/src/main/java/cn/shangyu/gdxzPatient/widget/CommentExpandableListView.java new file mode 100644 index 0000000..039bfda --- /dev/null +++ b/app/src/main/java/cn/shangyu/gdxzPatient/widget/CommentExpandableListView.java @@ -0,0 +1,84 @@ +package cn.shangyu.gdxzPatient.widget; + +import android.content.Context; +import android.os.Build; +import android.support.v4.view.NestedScrollingChild; +import android.support.v4.view.NestedScrollingChildHelper; +import android.util.AttributeSet; +import android.widget.ExpandableListView; + +/** + * Author: Moos + * E-mail: moosphon@gmail.com + * Date: 18/4/20. + * Desc: 自定义ExpandableListView,解决与CoordinatorLayout滑动冲突问题 + */ + +public class CommentExpandableListView extends ExpandableListView implements NestedScrollingChild { + private NestedScrollingChildHelper mScrollingChildHelper; + + + public CommentExpandableListView(Context context, AttributeSet attrs) { + super(context, attrs); + mScrollingChildHelper = new NestedScrollingChildHelper(this); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + setNestedScrollingEnabled(true); + } + + } + + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, expandSpec); + + } + + @Override + public void setNestedScrollingEnabled(boolean enabled) { + mScrollingChildHelper.setNestedScrollingEnabled(enabled); + } + + @Override + public boolean isNestedScrollingEnabled() { + return mScrollingChildHelper.isNestedScrollingEnabled(); + } + + @Override + public boolean startNestedScroll(int axes) { + return mScrollingChildHelper.startNestedScroll(axes); + } + + @Override + public void stopNestedScroll() { + mScrollingChildHelper.stopNestedScroll(); + } + + @Override + public boolean hasNestedScrollingParent() { + return mScrollingChildHelper.hasNestedScrollingParent(); + } + + @Override + public boolean dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, + int dyUnconsumed, int[] offsetInWindow) { + return mScrollingChildHelper.dispatchNestedScroll(dxConsumed, dyConsumed, + dxUnconsumed, dyUnconsumed, offsetInWindow); + } + + @Override + public boolean dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow) { + return mScrollingChildHelper.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow); + } + + @Override + public boolean dispatchNestedFling(float velocityX, float velocityY, boolean consumed) { + return mScrollingChildHelper.dispatchNestedFling(velocityX, velocityY, consumed); + } + + @Override + public boolean dispatchNestedPreFling(float velocityX, float velocityY) { + return mScrollingChildHelper.dispatchNestedPreFling(velocityX, velocityY); + } +} diff --git a/app/src/main/res/drawable-xhdpi/cb_nocheck.png b/app/src/main/res/drawable-xhdpi/cb_nocheck.png new file mode 100644 index 0000000..b554f8d Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/cb_nocheck.png differ diff --git a/app/src/main/res/drawable-xxhdpi/coll.png b/app/src/main/res/drawable-xxhdpi/coll.png new file mode 100644 index 0000000..828ec74 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/coll.png differ diff --git a/app/src/main/res/drawable-xxhdpi/exp.png b/app/src/main/res/drawable-xxhdpi/exp.png new file mode 100644 index 0000000..636587e Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/exp.png differ diff --git a/app/src/main/res/layout/activity_gd_detail.xml b/app/src/main/res/layout/activity_gd_detail.xml index 5dd8ce2..5ba2fe8 100644 --- a/app/src/main/res/layout/activity_gd_detail.xml +++ b/app/src/main/res/layout/activity_gd_detail.xml @@ -7,35 +7,49 @@ - - - + > + + + + + + + - + - - - - + - - - - - - + + layout="@layout/activity_house_top" /> + + + + + + - - - - -