Browse Source

1。V3.3.4版本,去掉小米手机所有原生角标设置,修复版本检查更新

master
wangchengxin 5 years ago
parent
commit
9f976a1919
  1. 6
      app/build.gradle
  2. BIN
      app/libs/Msc.jar
  3. BIN
      app/libs/arm64-v8a/libmsc.so
  4. BIN
      app/libs/armeabi-v7a/libmsc.so
  5. BIN
      app/libs/armeabi/libmsc.so
  6. 4
      app/src/main/AndroidManifest.xml
  7. 28
      app/src/main/java/cn/shangyu/gdxzPatient/UpdateService.java
  8. 8
      app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreIllnessActivity.java
  9. 41
      app/src/main/java/cn/shangyu/gdxzPatient/activity/ConsultDetail1Activity.java
  10. 1
      app/src/main/java/cn/shangyu/gdxzPatient/activity/ExpertDetailActivity.java
  11. 1
      app/src/main/java/cn/shangyu/gdxzPatient/activity/FamilyContactInfoActivity.java
  12. 41
      app/src/main/java/cn/shangyu/gdxzPatient/activity/MainActivity.java
  13. 8
      app/src/main/java/cn/shangyu/gdxzPatient/activity/MyFeedbookActivity.java
  14. 4
      app/src/main/java/cn/shangyu/gdxzPatient/activity/PersonInfoActivity.java
  15. 1
      app/src/main/java/cn/shangyu/gdxzPatient/activity/SetInformationNewActivity.java
  16. 13
      app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingAndHelpActivity.java
  17. 11
      app/src/main/java/cn/shangyu/gdxzPatient/activity/TheIllnessDetailActivity.java
  18. 2
      app/src/main/java/cn/shangyu/gdxzPatient/application/BaseApplication.java
  19. 7
      app/src/main/java/cn/shangyu/gdxzPatient/bean/ConsultBean.java
  20. 1
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/common/CCPAppManager.java
  21. 17
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ChattingFragment.java
  22. 2
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ChattingListAdapter2.java
  23. 4
      app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/view/CCPChattingFooter2.java
  24. 1
      app/src/main/java/cn/shangyu/gdxzPatient/fragment/BasicInfoFragment.java
  25. 52
      app/src/main/java/cn/shangyu/gdxzPatient/fragment/ConsultFragment.java
  26. 5
      app/src/main/java/cn/shangyu/gdxzPatient/splash/WelcomeUI.java
  27. 244
      app/src/main/java/cn/shangyu/gdxzPatient/utils/KeDaXunFeiUtil.java
  28. 38
      app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java
  29. 6
      app/src/main/res/layout/activity_askamoreillness.xml
  30. 4
      app/src/main/res/layout/activity_consnew.xml
  31. 73
      app/src/main/res/layout/activity_consult_detail1.xml
  32. 2
      app/src/main/res/layout/activity_patientconslut.xml
  33. 6
      app/src/main/res/layout/activity_personinfo1.xml
  34. 80
      app/src/main/res/layout/item_consult1.xml

6
app/build.gradle

@ -12,8 +12,8 @@ android {
applicationId "cn.shangyu.gdxzPatient"
minSdkVersion 19
targetSdkVersion 26
versionCode 58
versionName "3.3.3"
versionCode 59
versionName "3.3.4"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
@ -71,7 +71,6 @@ dependencies {
implementation files('libs/glide-3.6.0.jar')
implementation files('libs/gson-2.2.4.jar')
implementation files('libs/locSDK_4.2.jar')
implementation files('libs/Msc.jar')
implementation files('libs/pinyin4j-2.5.0.jar')
implementation files('libs/SocialSDK_Sina_Simplify.jar')
implementation files('libs/SocialSDK_WeChat_Simplify.jar')
@ -89,4 +88,5 @@ dependencies {
compile 'me.leolin:ShortcutBadger:1.1.13@aar'
implementation files('libs/HwPush_SDK_NOMAP_V2705.jar')
implementation files('libs/MiPush_SDK_Client_3_6_19.jar')
implementation files('libs/Msc.jar')
}

BIN
app/libs/Msc.jar

Binary file not shown.

BIN
app/libs/arm64-v8a/libmsc.so

Binary file not shown.

BIN
app/libs/armeabi-v7a/libmsc.so

Binary file not shown.

BIN
app/libs/armeabi/libmsc.so

Binary file not shown.

4
app/src/main/AndroidManifest.xml

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.shangyu.gdxzPatient"
android:versionCode="58"
android:versionName="3.3.3" >
android:versionCode="59"
android:versionName="3.3.4" >
<uses-sdk
android:minSdkVersion="14"

28
app/src/main/java/cn/shangyu/gdxzPatient/UpdateService.java

@ -22,6 +22,7 @@ import android.os.Environment;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.support.v4.app.NotificationCompat;
import android.text.TextUtils;
import android.util.Log;
@ -88,6 +89,11 @@ public class UpdateService extends Service {
this.updateNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// this.updateNotification = new Notification();
// 设置下载过程中,点击通知栏,回到主界面
// if (downSucceed){
// installAPK(updateFile);
// }else {
// updateIntent = new Intent(this, SettingVersionActivity.class);
// }
updateIntent = new Intent(this, SettingVersionActivity.class);
updatePendingIntent = PendingIntent.getActivity(this, 0, updateIntent, 0);
updateIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);//关键的一步,设置启动模式
@ -104,6 +110,7 @@ public class UpdateService extends Service {
return super.onStartCommand(intent, flags, startId);
}
private boolean downSucceed;
private Handler updateHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
@ -146,22 +153,33 @@ public class UpdateService extends Service {
// i.setDataAndType(Uri.fromFile(updateFile),
// "application/vnd.android.package-archive");
// startActivity(i);
installAPK(updateFile);//下载完成直接安装
notificationUtils.sendUpVersonNotification("肝胆相照", "下载完成");
// installAPK(updateFile);//下载完成直接安装
// downSucceed = true;
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
intent.setDataAndType(Uri.fromFile(updateFile),"application/vnd.android.package-archive");
getApplicationContext().startActivity(intent);
updatePendingIntent = PendingIntent.getActivity(UpdateService.this, 0, intent, 0);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);//关键的一步,设置启动模式
NotificationUtils notificationUtils1 = new NotificationUtils(UpdateService.this,0,updatePendingIntent);
notificationUtils1.sendUpVersonNotification("肝胆相照", "下载完成,点击安装");
if (MainActivity.serviceIntent!=null){
stopService(MainActivity.serviceIntent);
}else{
stopSelf();
}
break;
case DOWNLOAD_FAIL:
notificationUtils.sendUpVersonNotification("肝胆相照", "下载完成");
notificationUtils.sendUpVersonNotification("肝胆相照", "下载出错,请重新检查更新");
if (MainActivity.serviceIntent!=null){
stopService(MainActivity.serviceIntent);
}else{
stopSelf();
}
break;
// 下载失败
// updateNotification.setLatestEventInfo(UpdateService.this,
@ -183,7 +201,7 @@ public class UpdateService extends Service {
intent.addCategory("android.intent.category.DEFAULT");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
intent.setDataAndType(Uri.fromFile(t),"application/vnd.android.package-archive");
startActivity(intent);
getApplicationContext().startActivity(intent);
}
class updateRunnable implements Runnable {
Message message = updateHandler.obtainMessage();

8
app/src/main/java/cn/shangyu/gdxzPatient/activity/AskAMoreIllnessActivity.java

@ -164,13 +164,13 @@ public class AskAMoreIllnessActivity extends BaseActivity implements View.OnClic
case R.id.bt_next:
String s = et_question.getText().toString();
if (StringUtil.isEmpty(s)||s.length()<10){
ToastUtil.showMessage("病情描述至少10个字");
if (StringUtil.isEmpty(s)||s.length()<20){
ToastUtil.showMessage("病情描述至少20个字");
return;
}
String s2 = et_question2.getText().toString();
if (StringUtil.isEmpty(s2)||s2.length()<5){
ToastUtil.showMessage("咨询问题至少5个字");
if (StringUtil.isEmpty(s2)||s2.length()<10){
ToastUtil.showMessage("咨询问题至少10个字");
return;
}
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {

41
app/src/main/java/cn/shangyu/gdxzPatient/activity/ConsultDetail1Activity.java

@ -0,0 +1,41 @@
package cn.shangyu.gdxzPatient.activity;
import android.view.View;
import cn.shangyu.gdxzPatient.R;
import cn.shangyu.gdxzPatient.utils.UIUtils;
import cn.shangyu.gdxzPatient.widget.LoadingPage;
/**
* Created by WANGChengXin on 2019/10/12.
*/
public class ConsultDetail1Activity extends BaseActivity implements View.OnClickListener{
private View view;
@Override
public void setTitle() {
top_title.setText("问题详情");
top_back_layout.setOnClickListener(this);
}
@Override
public View onCreateSuccessedView() {
view = UIUtils.inflate(R.layout.activity_consult_detail1);
return view;
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.top_back_layout:
finish();
break;
}
}
}

1
app/src/main/java/cn/shangyu/gdxzPatient/activity/ExpertDetailActivity.java

@ -56,7 +56,6 @@ import cn.shangyu.gdxzPatient.widget.CustomProgressDialog;
import cn.shangyu.gdxzPatient.widget.LoadingPage.ResultState;
import com.google.gson.Gson;
import com.iflytek.cloud.thirdparty.V;
import com.nostra13.universalimageloader.core.ImageLoader;
/**

1
app/src/main/java/cn/shangyu/gdxzPatient/activity/FamilyContactInfoActivity.java

@ -20,7 +20,6 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.iflytek.cloud.thirdparty.V;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;

41
app/src/main/java/cn/shangyu/gdxzPatient/activity/MainActivity.java

@ -146,46 +146,33 @@ public class MainActivity extends BaseActivity implements
}
if (bean.code==1) {
// jsonObject.getString("intro")
// ,需要显示更新
SharePrefUtil.saveBoolean(MainActivity.this,
"mIsNewVersion", true);
version_meaasge = bean.getIntro();// 版本更新信息
// jsonObject.getString("reuslt")
yN = bean.getReuslt();// 是否需要強制更新
dowmLoadPath = bean.getDownloadPath();// 下載路径
newVewsion = (String) bean.getNewVersion();// 最新的版本号
// 获取最新的联网版本号
SharePrefUtil.saveString(MainActivity.this,
"new_version_code", newVewsion);
LogUtils.e("versionCode = "+versionCode);
LogUtils.e("newVewsion = "+newVewsion);
if (!versionCode.equals(newVewsion)) {
// if (!SharePrefUtil.getString(MainActivity.this,
// "new_version_code", "").equals(newVewsion)) {
// SharePrefUtil.saveString(MainActivity.this,
// "is_ignore", "false");
// }
// ,需要显示更新
SharePrefUtil.saveBoolean(MainActivity.this,
"mIsNewVersion", true);
// 获取最新的联网版本号
SharePrefUtil.saveString(MainActivity.this,
"new_version_code", newVewsion);
if (yN.equals("Y")) {// 強制更新
// 判断是否wifi状态,wifi状态的话则强制更新
// showUpDateDialog();// 非强制更新
// if (Utility.isWifi(MainActivity.this)) {
// Intent intent = new Intent(MainActivity.this,
// UpdateService.class);
//
// intent.putExtra("url", dowmLoadPath);
//
// Toast.makeText(MainActivity.this,
// "检测到您当前处于WIFI状态,已自动为您后台更新最新版app",
// Toast.LENGTH_LONG).show();
// startService(intent);
// }
// showUpDateDialog();// 非强制更新
showForceUpdateDialog();// 强制更新弹框
} else if (yN.equals("N")) {// 非強制更新
showUpDateDialog();// 非强制更新
}
}else {
// 不需要显示更新
SharePrefUtil.saveBoolean(MainActivity.this,
"mIsNewVersion", false);
}
} else {
}else {
// 不需要显示更新
SharePrefUtil.saveBoolean(MainActivity.this,
"mIsNewVersion", false);
@ -692,7 +679,7 @@ public class MainActivity extends BaseActivity implements
parameters);// 请求网络
if (httpResult!=null) {
String result = httpResult.getString(); // str为服务器返回的json字符串
// LogUtils.e("getVersonCode>>>" + result);
LogUtils.e("getVersonCode>>>" + result);
Gson gson = new Gson();
bean = gson.fromJson(result, GanDanVersionBean.class);
handler.sendEmptyMessage(2);

8
app/src/main/java/cn/shangyu/gdxzPatient/activity/MyFeedbookActivity.java

@ -44,6 +44,7 @@ import cn.shangyu.gdxzPatient.http.HttpHelper;
import cn.shangyu.gdxzPatient.http.HttpHelper.HttpResult;
import cn.shangyu.gdxzPatient.utils.Constant;
import cn.shangyu.gdxzPatient.utils.JsonParser;
import cn.shangyu.gdxzPatient.utils.KeDaXunFeiUtil;
import cn.shangyu.gdxzPatient.utils.LogUtils;
import cn.shangyu.gdxzPatient.utils.SharePrefUtil;
import cn.shangyu.gdxzPatient.utils.UIUtils;
@ -152,13 +153,13 @@ public class MyFeedbookActivity extends BaseActivity implements OnClickListener
if (PermissionsUtil.hasPermission(this, Manifest.permission.RECORD_AUDIO)) {//,Manifest.permission.READ_CONTACTS
//有访问录音
initVoice();
new KeDaXunFeiUtil(MyFeedbookActivity.this, et_feedbook);
} else {
PermissionsUtil.requestPermission(this, new PermissionListener() {
@Override
public void permissionGranted(@NonNull String[] permissions) {
//用户授予了访问录音的权限
initVoice();
new KeDaXunFeiUtil(MyFeedbookActivity.this, et_feedbook);
}
@Override
public void permissionDenied(@NonNull String[] permissions) {
@ -170,7 +171,7 @@ public class MyFeedbookActivity extends BaseActivity implements OnClickListener
}
}else {
initVoice();
new KeDaXunFeiUtil(MyFeedbookActivity.this, et_feedbook);
}
break;
@ -231,7 +232,6 @@ public class MyFeedbookActivity extends BaseActivity implements OnClickListener
private void printResult(RecognizerResult results) {
String text = JsonParser.parseIatResult(results.getResultString());
String sn = null;
// 读取json结果中的sn字段
try {

4
app/src/main/java/cn/shangyu/gdxzPatient/activity/PersonInfoActivity.java

@ -588,7 +588,7 @@ public class PersonInfoActivity extends BaseActivity implements
}
}else {
selectSex = "";
tv_sex.setText("");
tv_sex.setText("请选择性别");
}
}
@ -1121,7 +1121,7 @@ public class PersonInfoActivity extends BaseActivity implements
CustomToast.show(ctx, "姓名不能为空", 0);
return;
}
if (TextUtils.isEmpty(tv_sex.getText().toString())){
if (TextUtils.isEmpty(tv_sex.getText().toString())||"请选择性别".equals(tv_sex.getText().toString().trim())){
CustomToast.show(ctx, "性别不能为空", 0);
return;
}

1
app/src/main/java/cn/shangyu/gdxzPatient/activity/SetInformationNewActivity.java

@ -33,7 +33,6 @@ import android.widget.Toast;
import com.github.dfqin.grantor.PermissionListener;
import com.github.dfqin.grantor.PermissionsUtil;
import com.google.gson.Gson;
import com.iflytek.cloud.thirdparty.V;
import com.yuntongxun.ecsdk.ECDevice;
import com.yuntongxun.ecsdk.ECError;
import com.yuntongxun.ecsdk.ECInitParams;

13
app/src/main/java/cn/shangyu/gdxzPatient/activity/SettingAndHelpActivity.java

@ -483,7 +483,18 @@ public class SettingAndHelpActivity extends BaseActivity implements
public void onClick(View v) {
// TODO Auto-generated method stub
DataCleanManager.clearAllCache(ctx);
BadgeCountUtils.removeBadge(UIUtils.getContext());
//原生角标
String brand = android.os.Build.BRAND;
if ("Xiaomi".equals(brand)){
//小米不需要原生角标
}else {
try {
BadgeCountUtils.removeBadge(UIUtils.getContext());
}catch (Exception e){
}
}
//
SharePrefUtil.saveString(UIUtils.getContext(),Constant.STEPUUID,"");
SharePrefUtil.saveBoolean(UIUtils.getContext(), Constant.CONSULNEWTPOINT, false);
try {

11
app/src/main/java/cn/shangyu/gdxzPatient/activity/TheIllnessDetailActivity.java

@ -30,7 +30,6 @@ import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.iflytek.cloud.thirdparty.V;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.text.SimpleDateFormat;
@ -610,7 +609,15 @@ public class TheIllnessDetailActivity extends BaseActivity implements View.OnCl
holder.gv_img.setVisibility(View.GONE);
}
holder.iv_head.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String expert_uuid = answerList.get(position).getExpert_uuid();
Intent intent = new Intent(TheIllnessDetailActivity.this,ExpertDetailActivity.class);
intent.putExtra("uuid",expert_uuid);
startActivity(intent);
}
});
return convertView;
}
class ViewHolder {

2
app/src/main/java/cn/shangyu/gdxzPatient/application/BaseApplication.java

@ -201,7 +201,7 @@ public class BaseApplication extends Application {
UMShareAPI.get(this);
// 科大讯飞初始化
SpeechUtility.createUtility(context, SpeechConstant.APPID + "=5975b0e3");
SpeechUtility.createUtility(this, SpeechConstant.APPID + "=5975b0e3");
// try {
// //以下都不是必须的,根据需要自行选择,一般来说只需要 debug,缓存相关,cookie相关的 就可以了

7
app/src/main/java/cn/shangyu/gdxzPatient/bean/ConsultBean.java

@ -28,8 +28,15 @@ public class ConsultBean {
private String realName;// 专家姓名
private String photo;// 专家头像
private String count;// 消息数
private String diseaseName;// 肝胆病名称
public String getDiseaseName() {
return diseaseName;
}
public void setDiseaseName(String diseaseName) {
this.diseaseName = diseaseName;
}
public String getCount() {
return count;

1
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/common/CCPAppManager.java

@ -171,6 +171,7 @@ public class CCPAppManager {
* @param path
*/
public static void doViewFilePrevieIntent(Context context, String path) {
LogUtils.e("path = "+path);
try {
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

17
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ChattingFragment.java

@ -1333,17 +1333,24 @@ public class ChattingFragment extends CCPFragment implements
}
int i = ConversationSqlManager.qureySessionUnreadCountByFlag("1");
//原生角标
BadgeCountUtils.setBadgeCount(UIUtils.getContext(),i);
//华为角标
setBadgeNum(i,UIUtils.getContext());
String brand = android.os.Build.BRAND;
if ("Xiaomi".equals(brand)){
//小米不需要原生角标
}else {
try {
BadgeCountUtils.setBadgeCount(UIUtils.getContext(),i);
}catch (Exception e){
}
//华为角标
setBadgeNum(i,UIUtils.getContext());
}
LogUtil.i("unreadCount1 = "+unreadCount+",notifyUnreadCount1 = "+notifyUnreadCount+",qureySessionUnreadCountByFlag1 = "+i);
// LogUtil.i("unreadCount1 = "+unreadCount+",notifyUnreadCount1 = "+notifyUnreadCount+",qureySessionUnreadCountByFlag1 = "+i);
}
@Override
public void onStop() {
super.onStop();
flag = false;
LogUtil.i("flag = "+flag);
}
/**
* 设置角标

2
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/ChattingListAdapter2.java

@ -165,7 +165,7 @@ public class ChattingListAdapter2 extends CCPListAdapter<ECMessage> {
int messageType = ChattingsRowUtils.getChattingMessageType(item,
item.getUserData());
LogUtils.e(messageType + item.getUserData());
LogUtils.e(messageType+"," + item.getUserData());
BaseChattingRow chattingRow = getBaseChattingRow(messageType,
item.getDirection() == ECMessage.Direction.SEND);
View chatView = chattingRow.buildChatView(

4
app/src/main/java/cn/shangyu/gdxzPatient/ecdemo/ui/chatting/view/CCPChattingFooter2.java

@ -302,6 +302,10 @@ public class CCPChattingFooter2 extends LinearLayout {
LogUtil.d(LogUtil.getLogUtilsTag(CCPChattingFooter2.class), "CCPChatFooter voice recording action up ");
resetVoiceRecordingButton();
break;
case MotionEvent.ACTION_CANCEL:
LogUtil.d(LogUtil.getLogUtilsTag(CCPChattingFooter2.class), "CCPChatFooter voice recording action cancel ");
resetVoiceRecordingButton();
break;
}
return false;

1
app/src/main/java/cn/shangyu/gdxzPatient/fragment/BasicInfoFragment.java

@ -6,7 +6,6 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.google.gson.Gson;
import com.iflytek.cloud.thirdparty.V;
import java.io.Serializable;
import java.text.SimpleDateFormat;

52
app/src/main/java/cn/shangyu/gdxzPatient/fragment/ConsultFragment.java

@ -7,6 +7,7 @@ import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Text;
import android.app.Activity;
import android.content.Intent;
@ -138,6 +139,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
consultBean.setRealName(data
.getString("realName"));
consultBean.setPhoto(data.getString("photo"));
consultBean.setDiseaseName(data.optString("diseaseName"));
headDatas.add(consultBean);
} else {
consultBean.setContent(data
@ -155,6 +157,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
consultBean.setRealName(data
.getString("realName"));
consultBean.setPhoto(data.getString("photo"));
consultBean.setDiseaseName(data.optString("diseaseName"));
footDatas.add(consultBean);
}
datas.add(consultBean);
@ -205,8 +208,9 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
+ data.getString("expertUuid"));// 添加appId
consultBean.setRealName(data
.getString("realName"));
consultBean.setPhoto(data
.getString("photo"));
consultBean.setPhoto(data.getString("photo"));
consultBean.setDiseaseName(data.optString("diseaseName"));
headDatas2.add(consultBean);
} else {
consultBean.setContent(data
@ -227,6 +231,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
.getString("realName"));
consultBean.setPhoto(data
.getString("photo"));
consultBean.setDiseaseName(data.optString("diseaseName"));
footDatas2.add(consultBean);
}
datas2.add(consultBean);
@ -254,6 +259,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
};
};
private String name;//本人姓名
@Override
public void onAttach(Activity activity) {
@ -267,7 +273,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
Bundle savedInstanceState) {
LogUtils.w("onCreateView==ConsultFragment");
view = UIUtils.inflate(R.layout.fragment_consult_list);
name = SharePrefUtil.getString(getActivity(), Constant.REALNAME, "");
sp = mActivity.getSharedPreferences("config", mActivity.MODE_PRIVATE);
initView();
initPullToRefresh();
@ -418,6 +424,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
parameters);// 请求网络
// result = httpResult.getString();// str为服务器返回的json串
String result = httpResult.getString();// str为服务器返回的json串
LogUtils.i("result = "+result);
if (result == null) {
ToastUtil.showMessage("请求服务器失败,请重试");
@ -479,10 +486,10 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
// LogUtils.w("adapter===+getView");
final ViewHolder vh;
if (convertView == null) {
vh = new ViewHolder();
convertView = UIUtils.inflate(R.layout.item_consult);
vh.tv_content = (TextView) convertView
.findViewById(R.id.tv_content);
@ -497,11 +504,17 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
.findViewById(R.id.tv_redpoint);
vh.iv_left_pic = (ImageView) convertView
.findViewById(R.id.iv_left_pic);
// convertView = UIUtils.inflate(R.layout.item_consult1);
// vh.tv_state = convertView.findViewById(R.id.tv_state);
// vh.tv_name = convertView.findViewById(R.id.tv_name);
// vh.tv_contant = convertView.findViewById(R.id.tv_contant);
// vh.tv_drungtype = convertView.findViewById(R.id.tv_drungtype);
// vh.tv_time = convertView.findViewById(R.id.tv_time);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
if (headDatas.size() > position) {
if (headDatas.size() > position) {//未回答
LogUtils.v("未回答position==" + position + "headDatas.size()=="
+ headDatas.size());
vh.tv_content.setText(headDatas.get(position).getContent());
@ -530,19 +543,12 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
});
vh.ll_state_chat.setClickable(false);
// vh.iv_left_pic.setBackgroundResource(R.drawable.new_consult_n);
/*
* if (headDatas.size()==position+1) {
* vh.tv_bg.setVisibility(View.VISIBLE); }else {
* vh.tv_bg.setVisibility(View.GONE); }
*/
} else {
// if (footDatas.size()>0) {
// LogUtils.v("position==" + position + "headDatas.size()=="
// + headDatas.size());
// LogUtils.v("footDatas.get(position - headDatas.size()).getAvatar()=="
// + footDatas.get(position - headDatas.size()).getPhoto());
// vh.tv_name.setText(name);
// vh.tv_contant.setText(headDatas.get(position).getContent());
// vh.tv_drungtype.setText(headDatas.get(position).getDiseaseName());
// vh.tv_time.setText(headDatas.get(position).getCreateDate().split(" ")[0]);
// vh.tv_state.setText("未回答");
} else {//咨询中
ImageLoader.getInstance().displayImage(
Url.imgUrl
+ footDatas.get(position - headDatas.size())
@ -656,8 +662,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
}
});
} else if ("3".equals(footDatas
.get(position - headDatas.size()).getState())) {
} else if ("3".equals(footDatas.get(position - headDatas.size()).getState())) {//已关闭
vh.tv_redpoint.setVisibility(View.GONE);
vh.tv_state.setText("历史咨询");
vh.ll_state_chat.setClickable(true);
@ -718,7 +723,7 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
/**
* 点击图片
*/
vh.iv_left_pic.setOnClickListener(new OnClickListener() {
vh.iv_left_pic.setOnClickListener(new OnClickListener() {//问题详情
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
@ -759,6 +764,11 @@ public class ConsultFragment extends BaseFragment implements OnClickListener,
public TextView tv_redpoint;// 小红点
public ImageView iv_left_pic;// 头像
public TextView tv_name;
public TextView tv_contant;
public TextView tv_drungtype;
public TextView tv_time;
}
@Override

5
app/src/main/java/cn/shangyu/gdxzPatient/splash/WelcomeUI.java

@ -63,6 +63,11 @@ public class WelcomeUI extends Activity implements AnimationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//按home键或后退键返回到桌面,再次进入程序会重新启动的解决办法
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
setContentView(R.layout.welcome);
mIv_start = (ImageView) findViewById(R.id.iv_start);
ll_time = (LinearLayout) findViewById(R.id.ll_wel_time);

244
app/src/main/java/cn/shangyu/gdxzPatient/utils/KeDaXunFeiUtil.java

@ -7,37 +7,252 @@ import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.widget.EditText;
import com.iflytek.cloud.ErrorCode;
import com.iflytek.cloud.InitListener;
import com.iflytek.cloud.RecognizerListener;
import com.iflytek.cloud.RecognizerResult;
import com.iflytek.cloud.SpeechConstant;
import com.iflytek.cloud.SpeechError;
import com.iflytek.cloud.SpeechRecognizer;
import com.iflytek.cloud.ui.RecognizerDialog;
import com.iflytek.cloud.ui.RecognizerDialogListener;
import cn.shangyu.gdxzPatient.R;
import cn.shangyu.gdxzPatient.ecdemo.common.utils.ToastUtil;
public class KeDaXunFeiUtil {
//
// public String lastContent;
// public Context ctx;
// public EditText et;
//
// public KeDaXunFeiUtil(Context ctx, EditText et) {
// this.ctx = ctx;
// this.et = et;
// initVoice();
// }
//
// public void initVoice() {
// // TODO Auto-generated method stub
// lastContent = et.getText().toString().trim();
// RecognizerDialog mDialog = new RecognizerDialog(ctx, mInitListener);
// mDialog.setParameter(SpeechConstant.VAD_EOS, "3000");
// mDialog.setListener(mRecognizerDialogListener);
// mDialog.show();
// }
//
// /**
// * 初始化监听器。
// */
// private InitListener mInitListener = new InitListener() {
//
// @Override
// public void onInit(int code) {
// Log.d("TAG", "SpeechRecognizer init() code = " + code);
// if (code != ErrorCode.SUCCESS) {
// // showTip("初始化失败,错误码:" + code);
// }
// }
// };
// /**
// * 听写UI监听器
// */
// private RecognizerDialogListener mRecognizerDialogListener = new RecognizerDialogListener() {
// public void onResult(RecognizerResult results, boolean isLast) {
//
// printResult(results);
//
// }
//
// /**
// * 识别回调错误.
// */
// public void onError(SpeechError error) {
// if (error.getErrorCode() == 14002) {
// // showTip(error.getPlainDescription(true) + "\n请确认是否已开通翻译功能");
// } else {
// // showTip(error.getPlainDescription(true));
// }
// }
//
// };
//
// // 用HashMap存储听写结果
// private HashMap<String, String> mIatResults = new LinkedHashMap<String, String>();
//
// private void printResult(RecognizerResult results) {
// String text = JsonParser.parseIatResult(results.getResultString());
//
// String sn = null;
// // 读取json结果中的sn字段
// try {
// JSONObject resultJson = new JSONObject(results.getResultString());
// sn = resultJson.optString("sn");
// } catch (JSONException e) {
// e.printStackTrace();
// }
//
// mIatResults.put(sn, text);
//
// StringBuffer resultBuffer = new StringBuffer();
// for (String key : mIatResults.keySet()) {
// resultBuffer.append(mIatResults.get(key));
// LogUtils.e(resultBuffer.toString());
// }
//
// et.setText(lastContent + resultBuffer.toString());
// et.setSelection(et.length());
//
// }
public String lastContent;
public Context ctx;
public EditText et;
RecognizerDialog mDialog;
// 语音听写对象
private SpeechRecognizer mIat;
// 引擎类型
private String mEngineType = SpeechConstant.TYPE_CLOUD;
private String resultType = "json";
public KeDaXunFeiUtil(Context ctx, EditText et) {
this.ctx = ctx;
this.et = et;
initVoice();
}
int ret = 0; // 函数调用返回值
public void initVoice() {
// TODO Auto-generated method stub
lastContent = et.getText().toString().trim();
RecognizerDialog mDialog = new RecognizerDialog(ctx, mInitListener);
mDialog.setParameter(SpeechConstant.VAD_EOS, "3000");
mDialog.setListener(mRecognizerDialogListener);
mDialog.show();
// 使用SpeechRecognizer对象,可根据回调消息自定义界面;
mIat = SpeechRecognizer.createRecognizer(ctx, mInitListener);
// 设置语音后端点:后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音
setParam();
// mIat.setParameter(SpeechConstant.VAD_EOS, "3000");
// mDialog = new RecognizerDialog(ctx, mInitListener);
// mDialog.setListener(mRecognizerDialogListener);
// mDialog.show();
ret = mIat.startListening(mRecognizerListener);
if (ret != ErrorCode.SUCCESS) {
ToastUtil.showMessage("听写失败" );//+ ret+",请点击网址https://www.xfyun.cn/document/error-code查询解决方案"
}
}
/**
* 听写监听器
*/
private RecognizerListener mRecognizerListener = new RecognizerListener() {
@Override
public void onBeginOfSpeech() {
// 此回调表示:sdk内部录音机已经准备好了,用户可以开始语音输入
ToastUtil.showMessage("请开始说话");
}
@Override
public void onError(SpeechError error) {
// Tips:
// 错误码:10118(您没有说话),可能是录音机权限被禁,需要提示用户打开应用的录音权限。
if( error.getErrorCode() == 14002) {
ToastUtil.showMessage("请确认是否已开通翻译功能" );
} else {
ToastUtil.showMessage("您好像没有说话哦");
}
}
@Override
public void onEndOfSpeech() {
// 此回调表示:检测到了语音的尾端点,已经进入识别过程,不再接受语音输入
ToastUtil.showMessage("结束说话");
}
@Override
public void onResult(RecognizerResult results, boolean isLast) {
Log.d("TAG", results.getResultString());
if (resultType.equals("json")) {
printResult(results);
}
}
@Override
public void onVolumeChanged(int volume, byte[] data) {
ToastUtil.showMessage("正在录音");
// Log.d("TAG", "返回音频数据:"+data.length);
}
@Override
public void onEvent(int eventType, int arg1, int arg2, Bundle obj) {
// 以下代码用于获取与云端的会话id,当业务出错时将会话id提供给技术支持人员,可用于查询会话日志,定位出错原因
// 若使用本地能力,会话id为null
// if (SpeechEvent.EVENT_SESSION_ID == eventType) {
// String sid = obj.getString(SpeechEvent.KEY_EVENT_SESSION_ID);
// Log.d(TAG, "session id =" + sid);
// }
}
};
/**
* 参数设置
*
* @return
*/
public void setParam() {
// 清空参数
mIat.setParameter(SpeechConstant.PARAMS, null);
// 设置听写引擎
mIat.setParameter(SpeechConstant.ENGINE_TYPE, mEngineType);
// 设置返回结果格式
mIat.setParameter(SpeechConstant.RESULT_TYPE, resultType);
// this.mTranslateEnable = mSharedPreferences.getBoolean( this.getString(R.string.pref_key_translate), false );
// if( mTranslateEnable ){
// Log.i( TAG, "translate enable" );
// mIat.setParameter( SpeechConstant.ASR_SCH, "1" );
// mIat.setParameter( SpeechConstant.ADD_CAP, "translate" );
// mIat.setParameter( SpeechConstant.TRS_SRC, "its" );
// }
//
// String lag = mSharedPreferences.getString("iat_language_preference",
// "mandarin");
// if (lag.equals("en_us")) {
// // 设置语言
// mIat.setParameter(SpeechConstant.LANGUAGE, "en_us");
// mIat.setParameter(SpeechConstant.ACCENT, null);
//
// if( mTranslateEnable ){
// mIat.setParameter( SpeechConstant.ORI_LANG, "en" );
// mIat.setParameter( SpeechConstant.TRANS_LANG, "cn" );
// }
// } else {
// // 设置语言
// mIat.setParameter(SpeechConstant.LANGUAGE, "zh_cn");
// // 设置语言区域
// mIat.setParameter(SpeechConstant.ACCENT, lag);
//
// if( mTranslateEnable ){
// mIat.setParameter( SpeechConstant.ORI_LANG, "cn" );
// mIat.setParameter( SpeechConstant.TRANS_LANG, "en" );
// }
// }
//此处用于设置dialog中不显示错误码信息
//mIat.setParameter("view_tips_plain","false");
// 设置语音前端点:静音超时时间,即用户多长时间不说话则当做超时处理
mIat.setParameter(SpeechConstant.VAD_BOS,"4000");
// 设置语音后端点:后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音
mIat.setParameter(SpeechConstant.VAD_EOS,"3000");
// 设置标点符号,设置为"0"返回结果无标点,设置为"1"返回结果有标点
mIat.setParameter(SpeechConstant.ASR_PTT,"1");
}
/**
* 初始化监听器
*/
@ -45,7 +260,7 @@ public class KeDaXunFeiUtil {
@Override
public void onInit(int code) {
// Log.d(TAG, "SpeechRecognizer init() code = " + code);
Log.d("TAG", "SpeechRecognizer init() code = " + code);
if (code != ErrorCode.SUCCESS) {
// showTip("初始化失败,错误码:" + code);
}
@ -56,7 +271,6 @@ public class KeDaXunFeiUtil {
*/
private RecognizerDialogListener mRecognizerDialogListener = new RecognizerDialogListener() {
public void onResult(RecognizerResult results, boolean isLast) {
printResult(results);
}
@ -94,7 +308,6 @@ public class KeDaXunFeiUtil {
StringBuffer resultBuffer = new StringBuffer();
for (String key : mIatResults.keySet()) {
resultBuffer.append(mIatResults.get(key));
LogUtils.e(resultBuffer.toString());
}
et.setText(lastContent + resultBuffer.toString());
@ -102,4 +315,17 @@ public class KeDaXunFeiUtil {
}
public void dissDialog() {
if (mDialog.isShowing()) {
mDialog.dismiss();
}
if( null != mIat ){
// 退出时释放连接
mIat.cancel();
mIat.destroy();
}
}
}

38
app/src/main/java/cn/shangyu/gdxzPatient/utils/Url.java

@ -17,27 +17,27 @@ 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 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 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 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 imgUrl = "http://192.168.100.99:8080/Mgdxz/";
// public static String urlVer = "http://192.168.100.99:8080/Mgdxz/app/";
@ -195,7 +195,7 @@ public class Url {
public static String sienceRead = url + "read";// 肝胆首页的轮播信息
public static String getVerImg = urlVer + "VerifyImage/getcode";
public static String getVerCode = urlVer + "VerifyResult/valide";
public static String getVersonCode = urlVer + "appVer/ckCurrVer";
public static String getVersonCode = urlVer + "appVer/ckCurrVer";//版本更新
public static String getDelVisit = urlVer + "appVer/ckCurrVer";// 取消随访接口

6
app/src/main/res/layout/activity_askamoreillness.xml

@ -133,8 +133,9 @@
<EditText
android:id="@+id/et_question"
android:hint="请详细描述您的病情、症状、用药情况、检查情况等信息(输入10-500个字)"
android:hint="请详细描述您的病情、症状、用药情况、检查情况等信息(输入20-500个字)"
android:padding="9dp"
android:textColorHint="@color/c999999"
android:gravity="top"
android:layout_margin="10dp"
android:textSize="14sp"
@ -165,8 +166,9 @@
<EditText
android:id="@+id/et_question2"
android:textColor="@color/c666666"
android:textColorHint="@color/c999999"
android:background="@drawable/bg_edittext"
android:hint="请描述您当前需要医生解答的疑问(输入5-100个字)"
android:hint="请描述您当前需要医生解答的疑问(输入10-100个字)"
android:layout_margin="10dp"
android:lineSpacingExtra="3dp"
android:maxLength="100"

4
app/src/main/res/layout/activity_consnew.xml

@ -33,7 +33,7 @@
android:layout_height="0.5dp"/>
<TextView
android:id="@+id/zixun"
android:text="一对一咨询"
android:text="快速问医生"
android:layout_marginTop="5dp"
android:textColor="@color/white"
android:textSize="17sp"
@ -41,7 +41,7 @@
android:layout_height="wrap_content" />
<TextView
android:id="@+id/zixun2"
android:text="家庭医生式的解疑答惑"
android:text="10分钟医生快捷回复"
android:textColor="@color/white"
android:textSize="12sp"
android:layout_centerHorizontal="true"

73
app/src/main/res/layout/activity_consult_detail1.xml

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:paddingTop="10dp"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_name"
android:textSize="19sp"
android:layout_marginLeft="10dp"
android:gravity="bottom"
android:textColor="@color/patient_theme"
android:text="张三"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_drugtype"
android:layout_marginTop="10dp"
android:layout_below="@+id/tv_name"
android:background="@drawable/rect_false_drug"
android:textColor="@color/patient_theme"
android:layout_marginLeft="10dp"
android:paddingLeft="10dp"
android:paddingBottom="4dp"
android:paddingRight="10dp"
android:paddingTop="4dp"
android:text="肝纤维化"
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_time"
android:layout_alignParentRight="true"
android:textSize="17sp"
android:layout_alignBottom="@+id/tv_drugtype"
android:textColor="@color/c999999"
android:text="2019.06.11"
android:layout_marginRight="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_contant"
android:padding="10dp"
android:layout_below="@+id/tv_drugtype"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/bg_edittext"
android:lineSpacingExtra="3dp"
android:textSize="14sp"
android:textColor="@color/c666666"
android:text="详细描述况、检息(输入10-500个字)"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<GridView
android:id="@+id/gv_img"
android:layout_marginLeft="10dp"
android:layout_below="@+id/tv_contant"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:cacheColorHint="@android:color/transparent"
android:gravity="center"
android:horizontalSpacing="3dip"
android:listSelector="@android:color/transparent"
android:numColumns="4"
android:scrollbars="none"
android:verticalSpacing="3dip" >
</GridView>
</RelativeLayout>

2
app/src/main/res/layout/activity_patientconslut.xml

@ -35,7 +35,7 @@
android:layout_weight="1"
android:button="@null"
android:textColor="@color/black"
android:text="病信息" />
android:text="病信息" />
</RadioGroup>

6
app/src/main/res/layout/activity_personinfo1.xml

@ -189,7 +189,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text=""
android:text="请选择性别"
android:textColor="@color/c999999"
android:textSize="@dimen/textsizea" />
@ -350,7 +350,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="10"
android:text="请选择出生日期"
android:textColor="@color/c999999"
android:textSize="@dimen/textsizea" />
@ -536,7 +536,7 @@
android:layout_marginRight="10dp"
android:gravity="right"
android:singleLine="true"
android:text=""
android:text="请选择所在地"
android:textColor="@color/c999999"
android:textSize="@dimen/textsizea" />

80
app/src/main/res/layout/item_consult1.xml

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="11dp"
>
<TextView
android:id="@+id/tv_name"
android:layout_marginLeft="10dp"
android:text="张三"
android:maxLength="8"
android:textSize="19sp"
android:textColor="@color/patient_theme"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_state"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:text="未回答"
android:textColor="@color/c999999"
android:textSize="17sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_marginLeft="10dp"
android:id="@+id/tv_contant"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_below="@+id/tv_name"
android:padding="9dp"
android:textSize="14sp"
android:textColor="@color/c666666"
android:maxHeight="80dp"
android:background="@drawable/bg_edittext"
android:maxLines="2"
android:text="问题详情问题详情问题详情问题详"
android:ellipsize="end"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_drungtype"
android:layout_below="@+id/tv_contant"
android:layout_marginTop="10dp"
android:background="@drawable/bg_give_follower"
android:textColor="@color/patient_theme"
android:gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:text="肝纤维化"
android:textSize="11sp"
android:layout_width="63dp"
android:layout_height="19dp" />
<TextView
android:id="@+id/tv_time"
android:layout_marginTop="10dp"
android:layout_below="@+id/tv_contant"
android:layout_marginRight="10dp"
android:text="2019.06.15"
android:textColor="@color/c999999"
android:textSize="17sp"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<View
android:layout_marginTop="10dp"
android:layout_below="@+id/tv_time"
android:background="@color/cefefef"
android:layout_width="match_parent"
android:layout_height="5dp"/>
</RelativeLayout>
Loading…
Cancel
Save