package cn.shangyu.gdxzExpert.activity; import android.graphics.Color; import android.os.Bundle; import android.text.Editable; import android.text.InputFilter; import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.webkit.CookieManager; import android.webkit.CookieSyncManager; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; import com.gyf.immersionbar.ImmersionBar; import java.text.DecimalFormat; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.base.BaseActivity; import cn.shangyu.gdxzExpert.utils.LogUtil; import cn.shangyu.gdxzExpert.utils.MathUtil; import cn.shangyu.gdxzExpert.utils.StringUtil; import cn.shangyu.gdxzExpert.utils.ToastUtil; import cn.shangyu.gdxzExpert.view.X5WebView; import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState; /** * ToolsActivity.java * * @author liufang * @date 2015-11-6 下午4:33:19 * * Copyright (C) 2015 河南商宇科技有限公司 * * 功能说明:我的工具类页面 */ public class ToolsActivity extends BaseActivity { private int position; private String title; private X5WebView mWebView; @Override public void setTitle() { top_back_layout.setVisibility(View.VISIBLE); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); position = getIntent().getIntExtra("position", 0); title = getIntent().getStringExtra("title"); top_title.setText(title); } @Override public View onCreateSuccessedView() { ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init(); View view = null; if (position == 7 || position == 3 || position == 8 || position == 9 || position == 0 || position == 22|| position == 23) { view = View.inflate(ct, R.layout.activity_tools, null); X5WebView.initHardwareAccelerate(this); mWebView = view.findViewById(R.id.tools_webview); mWebView.setVisibility(View.VISIBLE); CookieSyncManager.createInstance(this); CookieManager.getInstance().removeAllCookie(); WebSettings webSettings = mWebView.getSettings(); webSettings.setUseWideViewPort(true); webSettings.setLoadWithOverviewMode(true); // 设置 缓存模式 webSettings.setCacheMode(WebSettings.LOAD_DEFAULT); // webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); // 开启 DOM storage API 功能 webSettings.setDatabaseEnabled(true); webSettings.setUseWideViewPort(true);// 设置此属性,可任意比例缩放 webSettings.setJavaScriptEnabled(true);// 启用javascript脚本 webSettings.setJavaScriptCanOpenWindowsAutomatically(true);// 支持通过JS打开新窗口 webSettings.setDomStorageEnabled(true); webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); webSettings.setSupportZoom(true); webSettings.setBuiltInZoomControls(true); mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } }); mWebView.setBackgroundColor(Color.TRANSPARENT); // WebView 背景透明效果 switch (position) { case 0:// 丙肝DAA和其他药物相互作用在线查询 mWebView.loadUrl("http://www.hep-druginteractions.org/checker"); break; case 7:// 肝癌TNM分期 mWebView.loadUrl("file:///android_asset/html/tools_seven.html"); break; case 3:// 巴塞罗那肝癌分级 mWebView.loadUrl("file:///android_asset/html/tools_eight.html"); break; case 8:// 肝性脑病分期 mWebView.loadUrl("file:///android_asset/html/tools_nine.html"); break; case 9:// 肝衰竭分类和分期 mWebView.loadUrl("file:///android_asset/html/tools_ten.html"); break; case 22:// RUCAM因果关系评估量表 mWebView.loadUrl("http://www.igandan.com/web/rucam"); break; case 23://肝脏肝纤维化与脂肪变性检查报告解读 mWebView.loadUrl(" http://www.igandan.com/fibrosis_check/index.html"); break; } } else { switch (position) { case 1:// 临床检验常用单位换算 view = View.inflate(ct, R.layout.activity_conversion, null); startConversion(view); break; case 2:// APRI指数 view = View.inflate(ct, R.layout.activity_basic_ten, null); startTent(view); break; case 4:// 标准体重计算 view = View .inflate(ct, R.layout.activity_standard_weight, null); startOne(view); break; case 5:// Child——Pugh评分 view = View.inflate(ct, R.layout.activity_child_pugh, null); startSix(view); break; case 6:// FIB-4指数 view = View.inflate(ct, R.layout.activity_basic_twelve, null); startTwelve(view); break; case 10:// 估算肾小球滤过率(eGFR) view = View.inflate(ct, R.layout.activity_basic_evenlen, null); startEvenle(view); break; case 11:// 基础能耗 view = View.inflate(ct, R.layout.activity_basic_energy, null); startFour(view); break; case 12:// 酒精性肝病Maddrey判别函数 view = View.inflate(ct, R.layout.activity_basic_eight, null); startEight(view); break; case 13:// MELD评分 view = View.inflate(ct, R.layout.activity_meld, null); startSeven(view); break; case 15:// 体重指数(BMI) view = View.inflate(ct, R.layout.activity_bmi, null); startThree(view); break; case 16:// 体表面积 view = View.inflate(ct, R.layout.activity_body_area, null); startFive(view); break; case 17:// 血清腹水白蛋白梯度(SAAG) view = View.inflate(ct, R.layout.activity_nine, null); startNine(view); break; case 18:// 小儿标准体重计算 view = View.inflate(ct, R.layout.activity_child_standard_weight, null); startTwo(view); break; case 19:// 序贯器官衰竭估计评分(SOFA评分) view = View.inflate(ct, R.layout.activity_sofa_pugh, null); startSeventeen(view); break; case 20:// 预后营养指数(PNI) view = View.inflate(ct, R.layout.activity_basic_thirteen, null); startThirteen(view); break; case 21:// 营养风险筛查 view = View.inflate(ct, R.layout.activity_eighten_pugh, null); startEighteen(view); break; case 14:// 内生肌酐清除率 view = View.inflate(ct, R.layout.activity_nineten_pugh, null); startNineteen(view); break; } } return view; } MyTextWatcher mt1, mt2; MyTextWatcher2 dbil1, dbil2; MyTextWatcher3 chol1, chol2; MyTextWatcher4 afp1, afp2; MyTextWatcher5 cr1, cr2; MyTextWatcher6 js1, js2; MyTextWatcher7 ca1, ca2; MyTextWatcher8 p1, p2; MyTextWatcher9 me1, me2; MyTextWatcher10 zn1, zn2; MyTextWatcher11 pb1, pb2; MyTextWatcher12 bun1, bun2; MyTextWatcher13 u1, u2; MyTextWatcher14 ua1, ua2; MyTextWatcher15 trlg1, trlg2; private void startConversion(View view) { final EditText mEt_tbil_mg, mEt_dbil_mg, mEt_chol_mg, mEt_afp_ng, mEt_cr_mg, mEt_js_mg, mEt_ca_mg, mEt_p_mg, mEt_me_ug, mEt_zn_ug, mEt_pb_ug, mEt_bun_mg, mEt_u_mg, mEt_ua_mg, mEt_trlg_ug; final EditText mEt_tbil_um, mEt_dbil_um, mEt_chol_mm, mEt_afp_nm, mEt_cr_um, mEt_js_um, mEt_ca_mm, mEt_p_mm, mEt_me_um, mEt_zn_um, mEt_pb_um, mEt_bun_mm, mEt_u_mm, mEt_ua_um, mEt_trlg_mm; double tbil = 17.10, dbil = 17.10, chol = 0.02586, afp = 0.05848, cr = 88.402, js = 76.26, ca = 0.2495, p = 0.3229, me = 0.4114, zn = 0.1530, pb = 0.04826, bun = 0.3570, u = 0.1665, ua = 59.48, trlg = 0.01129; boolean isTbil = true, isDbil = true, isChol = true, isAfp = true, isCr = true, isJs = true; // final ImageView mIv_tbil, mIv_dbil, mIv_chol, mIv_afp, mIv_cr, // mIv_js; mEt_trlg_ug = (EditText) view.findViewById(R.id.et_trlg_mg); mEt_trlg_mm = (EditText) view.findViewById(R.id.et_trlg_mm); trlg1 = new MyTextWatcher15(mEt_trlg_ug, mEt_trlg_mm, true, trlg); trlg2 = new MyTextWatcher15(mEt_trlg_ug, mEt_trlg_mm, false, trlg); mEt_trlg_ug.addTextChangedListener(trlg1); mEt_trlg_mm.addTextChangedListener(trlg2); mEt_ua_mg = (EditText) view.findViewById(R.id.et_ua_mg); mEt_ua_um = (EditText) view.findViewById(R.id.et_ua_um); ua1 = new MyTextWatcher14(mEt_ua_mg, mEt_ua_um, true, ua); ua2 = new MyTextWatcher14(mEt_ua_mg, mEt_ua_um, false, ua); mEt_ua_mg.addTextChangedListener(ua1); mEt_ua_um.addTextChangedListener(ua2); mEt_u_mg = (EditText) view.findViewById(R.id.et_u_mg); mEt_u_mm = (EditText) view.findViewById(R.id.et_u_mm); u1 = new MyTextWatcher13(mEt_u_mg, mEt_u_mm, true, u); u2 = new MyTextWatcher13(mEt_u_mg, mEt_u_mm, false, u); mEt_u_mg.addTextChangedListener(u1); mEt_u_mm.addTextChangedListener(u2); mEt_bun_mg = (EditText) view.findViewById(R.id.et_bun_mg); mEt_bun_mm = (EditText) view.findViewById(R.id.et_bun_um); bun1 = new MyTextWatcher12(mEt_bun_mg, mEt_bun_mm, true, bun); bun2 = new MyTextWatcher12(mEt_bun_mg, mEt_bun_mm, false, bun); mEt_bun_mg.addTextChangedListener(bun1); mEt_bun_mm.addTextChangedListener(bun2); mEt_pb_ug = (EditText) view.findViewById(R.id.et_pb_ug); mEt_pb_um = (EditText) view.findViewById(R.id.et_pb_um); pb1 = new MyTextWatcher11(mEt_pb_ug, mEt_pb_um, true, pb); pb2 = new MyTextWatcher11(mEt_pb_ug, mEt_pb_um, false, pb); mEt_pb_ug.addTextChangedListener(pb1); mEt_pb_um.addTextChangedListener(pb2); mEt_zn_ug = (EditText) view.findViewById(R.id.et_zn_ug); mEt_zn_um = (EditText) view.findViewById(R.id.et_zn_um); zn1 = new MyTextWatcher10(mEt_zn_ug, mEt_zn_um, true, zn); zn2 = new MyTextWatcher10(mEt_zn_ug, mEt_zn_um, false, zn); mEt_zn_ug.addTextChangedListener(zn1); mEt_zn_um.addTextChangedListener(zn2); mEt_me_ug = (EditText) view.findViewById(R.id.et_me_ug); mEt_me_um = (EditText) view.findViewById(R.id.et_me_um); me1 = new MyTextWatcher9(mEt_me_ug, mEt_me_um, true, me); me2 = new MyTextWatcher9(mEt_me_ug, mEt_me_um, false, me); mEt_me_ug.addTextChangedListener(me1); mEt_me_um.addTextChangedListener(me2); mEt_p_mg = (EditText) view.findViewById(R.id.et_p_mg); mEt_p_mm = (EditText) view.findViewById(R.id.et_p_mm); p1 = new MyTextWatcher8(mEt_p_mg, mEt_p_mm, true, p); p2 = new MyTextWatcher8(mEt_p_mg, mEt_p_mm, false, p); mEt_p_mg.addTextChangedListener(p1); mEt_p_mm.addTextChangedListener(p2); mEt_ca_mg = (EditText) view.findViewById(R.id.et_ca_mg); mEt_ca_mm = (EditText) view.findViewById(R.id.et_ca_mm); ca1 = new MyTextWatcher7(mEt_ca_mg, mEt_ca_mm, true, ca); ca2 = new MyTextWatcher7(mEt_ca_mg, mEt_ca_mm, false, ca); mEt_ca_mg.addTextChangedListener(ca1); mEt_ca_mm.addTextChangedListener(ca2); mEt_tbil_mg = (EditText) view.findViewById(R.id.et_tbil_mg); mEt_tbil_um = (EditText) view.findViewById(R.id.et_tbil_um); mt1 = new MyTextWatcher(mEt_tbil_mg, mEt_tbil_um, true, tbil); mt2 = new MyTextWatcher(mEt_tbil_mg, mEt_tbil_um, false, tbil); mEt_tbil_mg.addTextChangedListener(mt1); mEt_tbil_um.addTextChangedListener(mt2); mEt_dbil_mg = (EditText) view.findViewById(R.id.et_dbil_mg); mEt_dbil_um = (EditText) view.findViewById(R.id.et_dbil_um); dbil1 = new MyTextWatcher2(mEt_dbil_mg, mEt_dbil_um, true, dbil); dbil2 = new MyTextWatcher2(mEt_dbil_mg, mEt_dbil_um, false, dbil); mEt_dbil_mg.addTextChangedListener(dbil1); mEt_dbil_um.addTextChangedListener(dbil2); mEt_chol_mg = (EditText) view.findViewById(R.id.et_chol_mg); mEt_chol_mm = (EditText) view.findViewById(R.id.et_chol_mm); chol1 = new MyTextWatcher3(mEt_chol_mg, mEt_chol_mm, true, chol); chol2 = new MyTextWatcher3(mEt_chol_mg, mEt_chol_mm, false, chol); mEt_chol_mg.addTextChangedListener(chol1); mEt_chol_mm.addTextChangedListener(chol2); mEt_afp_ng = (EditText) view.findViewById(R.id.et_afp_ng); mEt_afp_nm = (EditText) view.findViewById(R.id.et_afp_nm); // mIv_afp = (ImageView) view.findViewById(R.id.iv_afp); afp1 = new MyTextWatcher4(mEt_afp_ng, mEt_afp_nm, true, afp); afp2 = new MyTextWatcher4(mEt_afp_ng, mEt_afp_nm, false, afp); mEt_afp_ng.addTextChangedListener(afp1); mEt_afp_nm.addTextChangedListener(afp2); mEt_cr_mg = (EditText) view.findViewById(R.id.et_cr_mg); mEt_cr_um = (EditText) view.findViewById(R.id.et_cr_um); // mIv_cr = (ImageView) view.findViewById(R.id.iv_cr); cr1 = new MyTextWatcher5(mEt_cr_mg, mEt_cr_um, true, cr); cr2 = new MyTextWatcher5(mEt_cr_mg, mEt_cr_um, false, cr); mEt_cr_mg.addTextChangedListener(cr1); mEt_cr_um.addTextChangedListener(cr2); mEt_js_mg = (EditText) view.findViewById(R.id.et_js_mg); mEt_js_um = (EditText) view.findViewById(R.id.et_js_um); // mIv_js = (ImageView) view.findViewById(R.id.iv_js); js1 = new MyTextWatcher6(mEt_js_mg, mEt_js_um, true, js); js2 = new MyTextWatcher6(mEt_js_mg, mEt_js_um, false, js); mEt_js_mg.addTextChangedListener(js1); mEt_js_um.addTextChangedListener(js2); } class MyTextWatcher15 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher15(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(trlg2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(trlg1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(trlg2); } else { et1.addTextChangedListener(trlg1); } } } class MyTextWatcher14 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher14(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(ua2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(ua1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(ua2); } else { et1.addTextChangedListener(ua1); } } } class MyTextWatcher13 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher13(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(u2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(u1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(u2); } else { et1.addTextChangedListener(u1); } } } class MyTextWatcher12 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher12(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(bun2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(bun1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(bun2); } else { et1.addTextChangedListener(bun1); } } } class MyTextWatcher11 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher11(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(pb2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(pb1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(pb2); } else { et1.addTextChangedListener(pb1); } } } class MyTextWatcher10 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher10(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(zn2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(zn1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(zn2); } else { et1.addTextChangedListener(zn1); } } } class MyTextWatcher9 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher9(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(me2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(me1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(me2); } else { et1.addTextChangedListener(me1); } } } class MyTextWatcher8 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher8(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(p2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(p1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(p2); } else { et1.addTextChangedListener(p1); } } } class MyTextWatcher7 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher7(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(ca2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(ca1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(ca2); } else { et1.addTextChangedListener(ca1); } } } class MyTextWatcher implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(mt2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(mt1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(mt2); } else { et1.addTextChangedListener(mt1); } } } class MyTextWatcher2 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher2(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(dbil2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(dbil1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(dbil2); } else { et1.addTextChangedListener(dbil1); } } } class MyTextWatcher3 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher3(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(chol2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(chol1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(chol2); } else { et1.addTextChangedListener(chol1); } } } class MyTextWatcher4 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher4(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(afp2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(afp1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(afp2); } else { et1.addTextChangedListener(afp1); } } } class MyTextWatcher5 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher5(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(cr2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(cr1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(cr2); } else { et1.addTextChangedListener(cr1); } } } class MyTextWatcher6 implements TextWatcher { private EditText et1, et2; private boolean isC; double num; MyTextWatcher6(EditText Ev1, final EditText tv2, boolean isC, double num) { this.et1 = Ev1; this.et2 = tv2; this.isC = isC; this.num = num; } DecimalFormat df = new DecimalFormat("#.####"); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ste1 = et1.getText().toString().toString(); String ste2 = et2.getText().toString().toString(); if (isC) { et2.removeTextChangedListener(js2); if (!StringUtil.isEmpty(ste1)) { double nums = Double.parseDouble(ste1); et2.setText(df.format(nums * num) + ""); } else { et2.setText(""); } } else { et1.removeTextChangedListener(js1); if (!StringUtil.isEmpty(ste2)) { double nums = Double.parseDouble(et2.getText().toString() .toString()); et1.setText(df.format(nums / num) + ""); } else { et1.setText(""); } } } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (isC) { et2.addTextChangedListener(js2); } else { et1.addTextChangedListener(js1); } } } /** * @author 营养风险筛查 * */ int nutrition; int healthy; int age; private void startEighteen(View view) { // TODO Auto-generated method stub RadioGroup onezero = (RadioGroup) view.findViewById(R.id.rg_nutrition); RadioGroup twoa = (RadioGroup) view.findViewById(R.id.rg_healthy); RadioGroup threeb = (RadioGroup) view.findViewById(R.id.rg_age); // RadioGroup fourc = (RadioGroup) view.findViewById(R.id.rg_four_c); final TextView tvResult = (TextView) view .findViewById(R.id.tv_result_healthy); tvResult.setText("营养状态评分:0分\n疾病有关评分:0分\n年龄评分:0分\n营养风险筛查总评分:0分"); onezero.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_nutrition_a: nutrition = 0; break; case R.id.rb_nutrition_b: nutrition = 1; break; case R.id.rb_nutrition_c: nutrition = 2; break; case R.id.rb_nutrition_d: nutrition = 3; break; } int result = nutrition + healthy + age; tvResult.setText("营养状态评分:" + String.valueOf(nutrition) + "分" + "\n" + "疾病有关评分:" + String.valueOf(healthy) + "分" + "\n" + "年龄评分:" + String.valueOf(age) + "分" + "\n" + "营养风险筛查总评分:" + String.valueOf(result) + "分"); } }); twoa.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_healthy_a: healthy = 0; break; case R.id.rb_healthy_b: healthy = 1; break; case R.id.rb_healthy_c: healthy = 2; break; case R.id.rb_healthy_d: healthy = 3; break; } int result = nutrition + healthy + age; tvResult.setText("营养状态评分:" + String.valueOf(nutrition) + "分" + "\n" + "疾病有关评分:" + String.valueOf(healthy) + "分" + "\n" + "年龄评分:" + String.valueOf(age) + "分" + "\n" + "营养风险筛查总评分:" + String.valueOf(result) + "分"); } }); threeb.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_age_a: age = 0; break; case R.id.rb_age_b: age = 1; break; // case R.id.rb_b_big: // threeScore = 3; // break; } int result = nutrition + healthy + age; tvResult.setText("营养状态评分:" + String.valueOf(nutrition) + "分" + "\n" + "疾病有关评分:" + String.valueOf(healthy) + "分" + "\n" + "年龄评分:" + String.valueOf(age) + "分" + "\n" + "营养风险筛查总评分:" + String.valueOf(result) + "分"); } }); } /** * 序贯器官衰竭估计评分(SOFA评分) * */ int oneScoreo = 0; int twoScoret; int threeScoret = 0; int fourScoref = 0; int fiveScoref = 0; int nineScore = 0; int tenScore = 0; private RadioButton tbt4; private RadioButton tbt3; private RadioButton bt1; private RadioButton bt2; private RadioButton bt3; private RadioButton bt4; private RadioGroup oneo; private RadioGroup twot; private String strBtnSelected = "unInit"; private RadioButton btten4; private RadioButton btten3; private RadioButton btten2; private RadioButton btten1; private RadioButton bteleven1; private RadioButton bteleven2; private RadioButton btfive; private RadioButton btsix1; private RadioButton btsix2; private RadioButton btsix3; private RadioButton btseven1; private RadioButton btseven2; private RadioButton bteight1; private RadioButton bteight2; private RadioGroup eleven; private RadioGroup ten; private RadioGroup eight; private RadioGroup seven; private RadioGroup six; private RadioGroup fivee; private void startSeventeen(View view) { class BtnSelected implements OnClickListener { public BtnSelected(String str) { bntID = str; } final public String bntID; @Override public void onClick(View arg0) { // TODO Auto-generated method stub strBtnSelected = bntID; if (bntID.equals("1") || bntID.equals("2") || bntID.equals("3") || bntID.equals("4")) { twot.clearCheck(); } else if (bntID.equals("5") || bntID.equals("6")) { oneo.clearCheck(); } else if (bntID.equals("51")) { six.clearCheck(); seven.clearCheck(); eight.clearCheck(); } else if (bntID.equals("61") || bntID.equals("62") || bntID.equals("63")) { fivee.clearCheck(); seven.clearCheck(); eight.clearCheck(); } else if (bntID.equals("71") || bntID.equals("72")) { fivee.clearCheck(); six.clearCheck(); eight.clearCheck(); } else if (bntID.equals("81") || bntID.equals("82")) { fivee.clearCheck(); six.clearCheck(); seven.clearCheck(); } else if (bntID.equals("101") || bntID.equals("102") || bntID.equals("103") || bntID.equals("104")) { eleven.clearCheck(); } else if (bntID.equals("111") || bntID.equals("112")) { ten.clearCheck(); } } } ; // 呼吸两项 BtnSelected btnListener1 = new BtnSelected("1"); BtnSelected btnListener2 = new BtnSelected("2"); BtnSelected btnListener3 = new BtnSelected("3"); BtnSelected btnListener4 = new BtnSelected("4"); BtnSelected btnListener5 = new BtnSelected("5"); BtnSelected btnListener6 = new BtnSelected("6"); // 循环四项 BtnSelected btnListener51 = new BtnSelected("51"); BtnSelected btnListener61 = new BtnSelected("61"); BtnSelected btnListener62 = new BtnSelected("62"); BtnSelected btnListener63 = new BtnSelected("63"); BtnSelected btnListener71 = new BtnSelected("71"); BtnSelected btnListener72 = new BtnSelected("72"); BtnSelected btnListener81 = new BtnSelected("81"); BtnSelected btnListener82 = new BtnSelected("82"); // 肾脏两项 BtnSelected btnListener101 = new BtnSelected("101"); BtnSelected btnListener102 = new BtnSelected("102"); BtnSelected btnListener103 = new BtnSelected("103"); BtnSelected btnListener104 = new BtnSelected("104"); BtnSelected btnListener111 = new BtnSelected("111"); BtnSelected btnListener112 = new BtnSelected("112"); oneo = (RadioGroup) view.findViewById(R.id.rg_one_o); bt1 = (RadioButton) view.findViewById(R.id.rb_one_default); bt2 = (RadioButton) view.findViewById(R.id.rb_one_small); bt3 = (RadioButton) view.findViewById(R.id.rb_one_big); bt4 = (RadioButton) view.findViewById(R.id.rb_one_big_b); // 为每个RadioButton设置监听器 bt1.setOnClickListener(btnListener1); bt2.setOnClickListener(btnListener2); bt3.setOnClickListener(btnListener3); bt4.setOnClickListener(btnListener4); twot = (RadioGroup) view.findViewById(R.id.rg_two_t); tbt3 = (RadioButton) view.findViewById(R.id.rb_two_big); tbt4 = (RadioButton) view.findViewById(R.id.rb_two_big_b); tbt3.setOnClickListener(btnListener5); tbt4.setOnClickListener(btnListener6); RadioGroup threet = (RadioGroup) view.findViewById(R.id.rg_three_t); RadioGroup fourf = (RadioGroup) view.findViewById(R.id.rg_four_f); fivee = (RadioGroup) view.findViewById(R.id.rg_five_f); // 循环四项 btfive = (RadioButton) view.findViewById(R.id.rb_fi_default); btfive.setOnClickListener(btnListener51); six = (RadioGroup) view.findViewById(R.id.rg_six); btsix1 = (RadioButton) view.findViewById(R.id.rb_six_small); btsix2 = (RadioButton) view.findViewById(R.id.rb_six_big); btsix3 = (RadioButton) view.findViewById(R.id.rb_six_big_b); btsix1.setOnClickListener(btnListener61); btsix2.setOnClickListener(btnListener62); btsix3.setOnClickListener(btnListener63); seven = (RadioGroup) view.findViewById(R.id.rg_seven); btseven1 = (RadioButton) view.findViewById(R.id.rb_seven_big); btseven2 = (RadioButton) view.findViewById(R.id.rb_seven_big_b); btseven1.setOnClickListener(btnListener71); btseven2.setOnClickListener(btnListener72); eight = (RadioGroup) view.findViewById(R.id.rg_eight); bteight1 = (RadioButton) view.findViewById(R.id.rb_eight_big); bteight2 = (RadioButton) view.findViewById(R.id.rb_eight_big_b); bteight1.setOnClickListener(btnListener81); bteight2.setOnClickListener(btnListener82); RadioGroup nine = (RadioGroup) view.findViewById(R.id.rg_nine); // 肾脏两项 ten = (RadioGroup) view.findViewById(R.id.rg_ten); btten1 = (RadioButton) view.findViewById(R.id.rb_ten_default); btten2 = (RadioButton) view.findViewById(R.id.rb_ten_small); btten3 = (RadioButton) view.findViewById(R.id.rb_ten_big); btten4 = (RadioButton) view.findViewById(R.id.rb_ten_big_b); btten1.setOnClickListener(btnListener101); btten2.setOnClickListener(btnListener102); btten3.setOnClickListener(btnListener103); btten4.setOnClickListener(btnListener104); eleven = (RadioGroup) view.findViewById(R.id.rg_eleven); bteleven1 = (RadioButton) view.findViewById(R.id.rb_eleven_big); bteleven2 = (RadioButton) view.findViewById(R.id.rb_eleven_big_b); bteleven1.setOnClickListener(btnListener111); bteleven2.setOnClickListener(btnListener112); final TextView tvResult = (TextView) view .findViewById(R.id.tv_result_r1); tvResult.setText("0分(您已选择0个必选项,还有6个必选项未选)"); oneo.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_one_default: if (bt1.isChecked()) { oneScoreo = 1; } break; case R.id.rb_one_small: if (bt2.isChecked()) { oneScoreo = 2; } break; case R.id.rb_one_big: if (bt3.isChecked()) { oneScoreo = 3; } break; case R.id.rb_one_big_b: if (bt4.isChecked()) { oneScoreo = 4; } break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) { tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); } else { tvResult.setText(String.valueOf(result) + "分"); } } }); twot.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { // case R.id.rb_two_default: // oneScoreo = 1; // break; // case R.id.rb_two_small: // oneScoreo = 2; // break; case R.id.rb_two_big: if (tbt3.isChecked()) { oneScoreo = 3; } break; case R.id.rb_two_big_b: if (tbt4.isChecked()) { oneScoreo = 4; } break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); threet.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_three_default: threeScoret = 1; break; case R.id.rb_three_small: threeScoret = 2; break; case R.id.rb_three_big: threeScoret = 3; break; case R.id.rb_three_big_b: threeScoret = 4; break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } // if (elevenScore == 0) { // sum++; // } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); fourf.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_four_default: fourScoref = 1; break; case R.id.rb_four_small: fourScoref = 2; break; case R.id.rb_four_big: fourScoref = 3; break; case R.id.rb_four_big_b: fourScoref = 4; break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); fivee.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_fi_default: if (btfive.isChecked()) { fiveScoref = 1; } break; // case R.id.rb_fi_small: // fiveScoref = 2; // break; // case R.id.rb_fi_big: // fiveScoref = 3; // break; // case R.id.rb_fi_big_b: // fiveScoref = 4; // break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); six.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { // case R.id.rb_six_default: // fiveScoref = 1; // break; case R.id.rb_six_small: if (btsix1.isChecked()) { fiveScoref = 2; } break; case R.id.rb_six_big: if (btsix2.isChecked()) { fiveScoref = 3; } break; case R.id.rb_six_big_b: if (btsix3.isChecked()) { fiveScoref = 4; } break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); seven.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { // case R.id.rb_seven_default: // fiveScoref = 1; // break; // case R.id.rb_seven_small: // fiveScoref = 2; // break; case R.id.rb_seven_big: if (btseven1.isChecked()) { fiveScoref = 3; } break; case R.id.rb_seven_big_b: if (btseven2.isChecked()) { fiveScoref = 4; } break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); eight.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { // case R.id.rb_eight_default: // fiveScoref = 1; // break; // case R.id.rb_eight_small: // fiveScoref = 2; // break; case R.id.rb_eight_big: if (bteight1.isChecked()) { fiveScoref = 3; } break; case R.id.rb_eight_big_b: if (bteight2.isChecked()) { fiveScoref = 4; } break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); nine.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_nine_default: nineScore = 1; break; case R.id.rb_nine_small: nineScore = 2; break; case R.id.rb_nine_big: nineScore = 3; break; case R.id.rb_nine_big_b: nineScore = 4; break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); ten.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_ten_default: if (btten1.isChecked()) { tenScore = 1; } break; case R.id.rb_ten_small: if (btten2.isChecked()) { tenScore = 2; } break; case R.id.rb_ten_big: if (btten3.isChecked()) { tenScore = 3; } break; case R.id.rb_ten_big_b: if (btten4.isChecked()) { tenScore = 4; } break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); eleven.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { // case R.id.rb_eleven_default: // tenScore = 1; // break; // case R.id.rb_eleven_small: // tenScore = 2; // break; case R.id.rb_eleven_big: if (bteleven1.isChecked()) { tenScore = 3; } break; case R.id.rb_eleven_big_b: if (bteleven2.isChecked()) { tenScore = 4; } break; } int sum = 0; if (oneScoreo == 0) { sum++; } if (threeScoret == 0) { sum++; } if (fourScoref == 0) { sum++; } if (fiveScoref == 0) { sum++; } if (nineScore == 0) { sum++; } if (tenScore == 0) { sum++; } int result = oneScoreo + threeScoret + fourScoref + fiveScoref + nineScore + tenScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(6 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); } private int select; private double chushu = 1; protected double mAges; protected String strBoold; protected double mBoold; private void startEight(View view) { // TODO Auto-generated method stub final RadioGroup rg_sex = (RadioGroup) view.findViewById(R.id.rg_sex); final EditText et_height = (EditText) view.findViewById(R.id.et_height); final EditText et_weight = (EditText) view.findViewById(R.id.et_weight); final EditText et_age = (EditText) view.findViewById(R.id.et_age); final TextView tv_result = (TextView) view.findViewById(R.id.tv_result); final TextView hongdansu = (TextView) view.findViewById(R.id.hongdansu); // String age = et_age.getText().toString().trim(); // final double value = // MathUtil.div(Double.parseDouble(et_age.getText().toString()), // chushu); rg_sex.check(R.id.rb_male); rg_sex.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { et_age.setText(""); et_weight.setText(""); et_height.setText(""); tv_result.setText(""); switch (checkedId) { case R.id.rb_male: select = 1; chushu = 1; hongdansu.setText("mg/dL"); break; case R.id.rb_female: select = 2; chushu = 17.1; hongdansu.setText("µmol/L"); break; } } }); et_height.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { final String height = et_height.getText().toString().trim(); final String weight = et_weight.getText().toString().trim(); final String value = et_age.getText().toString().trim(); if (!height.equals("0") && !weight.equals("0") && !value.equals("0") && !height.equals("") && !weight.equals("") && !value.equals("")) { try { // Double mHeight = Double.parseDouble(height); Double mWeight = Double.parseDouble(weight); Double mAges = Double.parseDouble(value); defaultWeight = 4.6 * (mHeight - mWeight) + mAges / chushu; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { } } } }); et_weight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { final String height = et_height.getText().toString().trim(); final String weight = et_weight.getText().toString().trim(); final String value = et_age.getText().toString().trim(); if (!height.equals("0") && !weight.equals("0") && !value.equals("0") && !height.equals("") && !weight.equals("") && !value.equals("")) { try { // double height1=Double.parseDouble(height); // double weight1=Double.parseDouble(weight); // double value1=Double.parseDouble(value); Double mHeight = Double.parseDouble(height); Double mWeight = Double.parseDouble(weight); Double mAges = Double.parseDouble(value); defaultWeight = 4.6 * (mHeight - mWeight) + mAges / chushu; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); // double result = MathUtil.add(value1,MathUtil.div(4.6, // MathUtil.sub(height1, weight1))); // DecimalFormat df = new DecimalFormat("0.00"); // String des = df.format(result); // tv_result.setText(des); } catch (Exception e) { // TODO: handle exception } } } }); et_age.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { final String height = et_height.getText().toString().trim(); final String weight = et_weight.getText().toString().trim(); final String value = et_age.getText().toString().trim(); if (!height.equals("0") && !weight.equals("0") && !value.equals("0") && !height.equals("") && !weight.equals("") && !value.equals("")) { try { Double mHeight = Double.parseDouble(height); Double mWeight = Double.parseDouble(weight); Double mAges = Double.parseDouble(value); defaultWeight = 4.6 * (mHeight - mWeight) + mAges / chushu; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); // double height1=Double.parseDouble(height); // double weight1=Double.parseDouble(weight); // double value1=Double.parseDouble(value); // double result = MathUtil.add(value1,MathUtil.sub(4.6, // MathUtil.sub(height1, weight1))); // tv_result.setText(result + ""); } catch (Exception e) { // TODO: handle exception } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); } private double value = 2; private void startThirteen(View view) { final EditText et_height = (EditText) view.findViewById(R.id.et_height); final EditText et_height1 = (EditText) view .findViewById(R.id.et_height1); final EditText et_weight = (EditText) view.findViewById(R.id.et_weight); final TextView tv_result = (TextView) view.findViewById(R.id.tv_result); final RadioGroup rg_sex = (RadioGroup) view.findViewById(R.id.rg_sex); rg_sex.check(R.id.rb_1); rg_sex.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_1: value = 2; et_height.setText(""); et_height1.setText(""); et_weight.setText(""); et_height.setFocusable(true); break; case R.id.rb_2: value = 1; et_height.setText(""); et_height1.setText(""); et_weight.setText(""); et_height.setFocusable(true); break; case R.id.rb_3: value = 0; et_height.setText(""); et_height1.setText(""); et_weight.setText(""); et_height.setFocusable(true); break; } } }); et_height.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { try { String height = et_height.getText().toString().trim(); String height1 = et_height1.getText().toString().trim(); String weight = et_weight.getText().toString().trim(); // if (height.equals("")) { // height="0"; // } // if (height1.equals("")) { // height1="0"; // } // if (weight.equals("")) { // weight="0"; // } double heigh = Double.parseDouble(height); double heigh1 = Double.parseDouble(height1); double weigh = Double.parseDouble(weight); if (heigh != 0 && heigh1 != 0 && weigh != 0) { double a = 158 - (16.6 * heigh) - (0.78 * heigh1) - (0.20 * weigh) - (5.8 * value); DecimalFormat df = new DecimalFormat("0.00"); String result = df.format(a); tv_result.setText(result); } else { tv_result.setText(""); } } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); et_height1.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { try { String height = et_height.getText().toString().trim(); String height1 = et_height1.getText().toString().trim(); String weight = et_weight.getText().toString().trim(); // if (height.equals("")) { // height="0"; // } // if (height1.equals("")) { // height1="0"; // } // if (weight.equals("")) { // weight="0"; // } double heigh = Double.parseDouble(height); double heigh1 = Double.parseDouble(height1); double weigh = Double.parseDouble(weight); if (heigh != 0 && heigh1 != 0 && weigh != 0) { double a = 158 - (16.6 * heigh) - (0.78 * heigh1) - (0.20 * weigh) - (5.8 * value); DecimalFormat df = new DecimalFormat("0.00"); String result = df.format(a); tv_result.setText(result); } else { tv_result.setText(""); } } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); et_weight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { try { String height = et_height.getText().toString().trim(); String height1 = et_height1.getText().toString().trim(); String weight = et_weight.getText().toString().trim(); // if (height.equals("")) { // height="0"; // } // if (height1.equals("")) { // height1="0"; // } // if (weight.equals("")) { // weight="0"; // } double heigh = Double.parseDouble(height); double heigh1 = Double.parseDouble(height1); double weigh = Double.parseDouble(weight); if (heigh != 0 && heigh1 != 0 && weigh != 0) { double a = 158 - (16.6 * heigh) - (0.78 * heigh1) - (0.20 * weigh) - (5.8 * value); DecimalFormat df = new DecimalFormat("0.00"); String result = df.format(a); tv_result.setText(result); } else { tv_result.setText(""); } } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); } /** * 计算公式:FIB-4=[年龄×AST]/[血小板数×ALT 1 /2] 精度保持小数点后2位。 startTwelve * * @param view * void */ private void startTwelve(View view) { final EditText etWeight = (EditText) view.findViewById(R.id.et_weight);// 谷丙转氨酶ALT final EditText etHeight = (EditText) view.findViewById(R.id.et_height);// 谷草转氨酶AST final EditText etBoold = (EditText) view.findViewById(R.id.et_boold);// 血小板数(PLT) final EditText etAge = (EditText) view.findViewById(R.id.et_age);// 年龄 final TextView tv_result = (TextView) view.findViewById(R.id.tv_result); etWeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); strAge = etAge.getText().toString(); strBoold = etBoold.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight) && !TextUtils.isEmpty(strAge) && !TextUtils.isEmpty(strBoold)) { try {// FIB-4=[年龄×AST]/[血小板数×ALT 1 /2] mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); mAges = Double.parseDouble(strAge.trim()); mBoold = Double.parseDouble(strBoold.trim()); defaultWeight = (mAges * mHeight) / (mBoold * Math.sqrt(mWeight)); DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { // TODO: handle exception } } } }); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); strAge = etAge.getText().toString(); strBoold = etBoold.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight) && !TextUtils.isEmpty(strAge) && !TextUtils.isEmpty(strBoold)) { try {// FIB-4=[年龄×AST]/[血小板数×ALT 1 /2] mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); mAges = Double.parseDouble(strAge.trim()); mBoold = Double.parseDouble(strBoold.trim()); defaultWeight = (mAges * mHeight) / (mBoold * Math.sqrt(mWeight)); DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { // TODO: handle exception } } } }); etAge.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); strAge = etAge.getText().toString(); strBoold = etBoold.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight) && !TextUtils.isEmpty(strAge) && !TextUtils.isEmpty(strBoold)) { try {// FIB-4=[年龄×AST]/[血小板数×ALT 1 /2] mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); mAges = Double.parseDouble(strAge.trim()); mBoold = Double.parseDouble(strBoold.trim()); defaultWeight = (mAges * mHeight) / (mBoold * Math.sqrt(mWeight)); DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { // TODO: handle exception } } } }); etBoold.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); strAge = etAge.getText().toString(); strBoold = etBoold.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight) && !TextUtils.isEmpty(strAge) && !TextUtils.isEmpty(strBoold)) { try {// FIB-4=[年龄×AST]/[血小板数×ALT 1 /2] mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); mAges = Double.parseDouble(strAge.trim()); mBoold = Double.parseDouble(strBoold.trim()); defaultWeight = (mAges * mHeight) / (mBoold * Math.sqrt(mWeight)); DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { // TODO: handle exception } } } }); } private void startEvenle(View view) { final RadioGroup rg_sex = (RadioGroup) view.findViewById(R.id.rg_sex); final RadioGroup rg_sexs = (RadioGroup) view.findViewById(R.id.rg_sex1); final EditText et_height = (EditText) view.findViewById(R.id.et_height); final EditText et_age = (EditText) view.findViewById(R.id.et_age); final TextView hongdansu = (TextView) view.findViewById(R.id.hongdansu); final TextView tv_result = (TextView) view.findViewById(R.id.tv_result); final RadioButton rb_mg = (RadioButton) view.findViewById(R.id.rb_mg); final RadioButton rb_um = (RadioButton) view.findViewById(R.id.rb_um); final RadioButton rb_man = (RadioButton) view.findViewById(R.id.rb_man); final RadioButton rb_woman = (RadioButton) view .findViewById(R.id.rb_woman); rg_sex.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { et_age.setText(""); et_height.setText(""); tv_result.setText(""); switch (checkedId) { case R.id.rb_mg: hongdansu.setText("mg/dL"); break; case R.id.rb_um: hongdansu.setText("µmol/L"); break; default: break; } } }); rg_sexs.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { et_age.setText(""); et_height.setText(""); tv_result.setText(""); } }); rg_sex.check(R.id.rb_mg); rg_sexs.check(R.id.rb_man); et_height.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { final String height = et_height.getText().toString().trim(); final String age = et_age.getText().toString().trim(); if (!height.equals("0") && !age.equals("0") && !height.equals("") && !age.equals("")) { double height1 = Double.parseDouble(height); double age1 = Double.parseDouble(age); double result = 0; // 男 mg/dl if (rb_mg.isChecked() && rb_man.isChecked()) { result = 186 * Math.pow(height1, -1.154) * Math.pow(age1, -0.203); } // 女 mg/dl if (rb_mg.isChecked() && rb_woman.isChecked()) { result = 186 * Math.pow(height1, -1.154) * Math.pow(age1, -0.203) * 0.742; } // 男 µmol/L // c=new Double(Math.round(a/b)/1000.0);//这样为保持3位 if (rb_um.isChecked() && rb_man.isChecked()) { result = 186 * Math.pow(height1 / 88.4, -1.154) * Math.pow(age1, -0.203); } // 女 µmol/L if (rb_um.isChecked() && rb_woman.isChecked()) { result = 186 * Math.pow(height1 / 88.4, -1.154) * Math.pow(age1, -0.203) * 0.742; } if (result != 0) { DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(result); tv_result.setText(Weight); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); et_age.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { final String height = et_height.getText().toString().trim(); final String age = et_age.getText().toString().trim(); if (!height.equals("0") && !age.equals("0") && !height.equals("") && !age.equals("")) { double height1 = Double.parseDouble(height); double age1 = Double.parseDouble(age); double result = 0; // 男 mg/dl if (rb_mg.isChecked() && rb_man.isChecked()) { result = 186 * Math.pow(height1, -1.154) * Math.pow(age1, -0.203); } // 女 mg/dl if (rb_mg.isChecked() && rb_woman.isChecked()) { result = 186 * Math.pow(height1, -1.154) * Math.pow(age1, -0.203) * 0.742; } // 男 µmol/L // c=new Double(Math.round(a/b)/1000.0);//这样为保持3位 if (rb_um.isChecked() && rb_man.isChecked()) { result = 186 * Math.pow(height1 / 88.4, -1.154) * Math.pow(age1, -0.203); } // 女 µmol/L if (rb_um.isChecked() && rb_woman.isChecked()) { result = 186 * Math.pow(height1 / 88.4, -1.154) * Math.pow(age1, -0.203) * 0.742; } if (result != 0) { DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(result); tv_result.setText(Weight); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); } /** * APRI指数 APRI=[AST(u/L)/ AST正常值上限/血小板数(109 /L)]×100 计算公式:APRI=[AST/ * AST正常值上限/血小板数]×100 * * @param view * void */ private void startTent(View view) { final EditText etWeight = (EditText) view.findViewById(R.id.et_weight);// AST正常值上限 final EditText etHeight = (EditText) view.findViewById(R.id.et_height);// 谷草转氨酶AST final EditText etAge = (EditText) view.findViewById(R.id.et_age);// 血小板PLT final TextView tv_result = (TextView) view.findViewById(R.id.tv_result); etWeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); strAge = etAge.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight) && !TextUtils.isEmpty(strAge)) { try {// APRI=[AST/ AST正常值上限/血小板数]×100 mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); mAges = Double.parseDouble(strAge.trim()); defaultWeight = (mHeight / mWeight / mAges) * 100.00; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { // TODO: handle exception } } } }); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); strAge = etAge.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight) && !TextUtils.isEmpty(strAge)) { try {// APRI=[AST/ AST正常值上限/血小板数]×100 mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); mAges = Double.parseDouble(strAge.trim()); defaultWeight = (mHeight / mWeight / mAges) * 100.00; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { // TODO: handle exception } } } }); etAge.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); strAge = etAge.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight) && !TextUtils.isEmpty(strAge)) { try {// APRI=[AST/ AST正常值上限/血小板数]×100 mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); mAges = Double.parseDouble(strAge.trim()); defaultWeight = (mHeight / mWeight / mAges) * 100.00; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); } catch (Exception e) { // TODO: handle exception } } } }); } /** * SAAG =血清白蛋白(g/L)–腹水白蛋白(g/L) >=11g/L:提示门静脉高压 <11g/L:提示非门静脉高压 startNine * * @param view * void */ private void startNine(View view) { final EditText etWeight = (EditText) view.findViewById(R.id.et_weight);// 血清血蛋白 final EditText etHeight = (EditText) view.findViewById(R.id.et_height);// 腹水血蛋白 final TextView tv_result = (TextView) view.findViewById(R.id.tv_result); etWeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight)) { try { mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); defaultWeight = mWeight - mHeight; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); // if (defaultWeight >= 11) { // ToastUtil.showMessage("门静脉高压"); // }else{ // ToastUtil.showMessage("非门静脉高压"); // } } catch (Exception e) { // TODO: handle exception } } } }); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); if (!TextUtils.isEmpty(strWeight) && !TextUtils.isEmpty(strHeight)) { try { mWeight = Double.parseDouble(strWeight.trim()); mHeight = Double.parseDouble(strHeight.trim()); defaultWeight = mWeight - mHeight; DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tv_result.setText(Weight); // if (defaultWeight >= 11) { // ToastUtil.showMessage("门静脉高压"); // }else{ // ToastUtil.showMessage("非门静脉高压"); // } } catch (Exception e) { // TODO: handle exception } } } }); } @Override public ResultState onLoad() { return ResultState.STATE_SUCCESSED; } @Override protected void processClick(View v) { } private String strHeight; private String strWeight; private double mHeight = 0.00; private double mWeight = 0.00; private double defaultWeight = 0.0; /** * 标准体重计算 */ private void startOne(View view) { final RadioGroup rgSex = (RadioGroup) view.findViewById(R.id.rg_sex); final TextView tvResult = (TextView) view.findViewById(R.id.one_result); final EditText etHeight = (EditText) view.findViewById(R.id.et_height); rgSex.check(R.id.rb_male); rgSex.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { tvResult.setText("结果:"); etHeight.setText(""); } }); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (etHeight.getText().toString().indexOf(".") >= 0) { if (etHeight .getText() .toString() .indexOf( ".", etHeight.getText().toString().indexOf(".") + 1) > 0) { etHeight.setText(etHeight .getText() .toString() .substring( 0, etHeight.getText().toString().length() - 1)); etHeight.setSelection(etHeight.getText().toString() .length()); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("结果:"); if (etHeight.getText().toString().indexOf(".") >= 0) { if (etHeight .getText() .toString() .indexOf( ".", etHeight.getText().toString().indexOf(".") + 1) > 0) { etHeight.setText(etHeight .getText() .toString() .substring( 0, etHeight.getText().toString().length() - 1)); etHeight.setSelection(etHeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); if (StringUtil.notEmpty(strHeight)) { // if(strHeight.trim().length() < 3){ // return; // } if (".".equals(strHeight.substring(0, 1))) { ToastUtil.showToast("请输入身高参考范围:100.00cm-300.00cm"); etHeight.setText(""); return; } mHeight = Double.parseDouble(strHeight.trim()); if (mHeight < 1 || mHeight > 300.00) { ToastUtil.showToast("请输入身高参考范围:100.00cm-300.00cm"); etHeight.setText(""); return; } if(mHeight < 100) { ToastUtil.showToast("请输入身高参考范围:100.00cm-300.00cm"); return; } if (rgSex.getCheckedRadioButtonId() == R.id.rb_male) { defaultWeight = mHeight * 1.00 - 105.00; } else { defaultWeight = mHeight * 1.00 - 100.00; } DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); LogUtil.i("defaultWeight=" + defaultWeight + "Weight=" + Weight); // double result = MathUtil.div(MathUtil.sub(mWeight, // defaultWeight), defaultWeight); // BigDecimal b = new BigDecimal(defaultWeight); // tvResult.setText(String.valueOf(b.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue())); tvResult.setText(Weight); } } }); } /** * 小儿标准体重计算 */ private void startTwo(View view) { final View llWeight = view.findViewById(R.id.ll_weight); final RadioGroup rgTime = (RadioGroup) view.findViewById(R.id.rg_time); // final RadioButton rb_month = (RadioButton) // view.findViewById(R.id.rb_month); final TextView tvHeightText = (TextView) view .findViewById(R.id.tv_month_text); final TextView tvHeightUnit = (TextView) view .findViewById(R.id.tv_month_unit); final EditText etHeight = (EditText) view.findViewById(R.id.et_age); final EditText etWeight = (EditText) view.findViewById(R.id.et_weight); final TextView tvResult = (TextView) view.findViewById(R.id.two_result); rgTime.check(R.id.rb_month); etHeight.setFilters(new InputFilter[] { new InputFilter.LengthFilter(2) }); rgTime.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { tvResult.setText("--"); etHeight.setText(""); etWeight.setText(""); if (checkedId == R.id.rb_month) { llWeight.setVisibility(View.VISIBLE); tvHeightText.setText("月龄"); tvHeightUnit.setText("月"); } else { llWeight.setVisibility(View.GONE); tvHeightText.setText("年龄"); tvHeightUnit.setText("岁"); } } }); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etHeight.getText().toString().indexOf(".") >= 0) { if (etHeight .getText() .toString() .indexOf( ".", etHeight.getText().toString().indexOf(".") + 1) > 0) { etHeight.setText(etHeight .getText() .toString() .substring( 0, etHeight.getText().toString().length() - 1)); etHeight.setSelection(etHeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); if (StringUtil.notEmpty(strHeight)) { mHeight = Long.parseLong(strHeight.trim()); if (rgTime.getCheckedRadioButtonId() == R.id.rb_year) { if (strHeight.length() > 1) { if (mHeight < 2 || mHeight > 12) { ToastUtil.showToast("年龄范围:2-12"); etHeight.setText(""); return; } } defaultWeight = MathUtil.add(MathUtil.mul(mHeight, 2), 8); } else { if (mHeight < 1 || mHeight > 12) { ToastUtil.showToast("月龄范围:1-12"); etHeight.setText(""); return; } strWeight = etWeight.getText().toString(); if (StringUtil.notEmpty(strWeight) && !".".equals(strWeight.substring(0, 1))) { mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 0 || mWeight > 400) { ToastUtil.showToast("出生体重范围:5-400.00之间"); return; } if (mHeight < 0 || mWeight < 0) { return; } if (mHeight > 6) { defaultWeight = MathUtil.add( MathUtil.add(mWeight, MathUtil.mul(6, 0.7)), MathUtil.mul((mHeight - 6), 0.5)); } else { defaultWeight = MathUtil.add(mWeight, MathUtil.mul(mHeight, 0.7)); } } } DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tvResult.setText(Weight); // double temp = MathUtil.div(mHeight, 100); // double result = MathUtil.div(mWeight, MathUtil.mul(temp, // temp)); // // showTwoResult(result, tvResult); } } }); etWeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (etWeight.getText().toString().indexOf(".") >= 0) { if (etWeight .getText() .toString() .indexOf( ".", etWeight.getText().toString().indexOf(".") + 1) > 0) { etWeight.setText(etWeight .getText() .toString() .substring( 0, etWeight.getText().toString().length() - 1)); etWeight.setSelection(etWeight.getText().toString() .length()); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etWeight.getText().toString().indexOf(".") == -1) { return; } if (etWeight.getText().toString().indexOf(".") >= 0) { if (etWeight .getText() .toString() .indexOf( ".", etWeight.getText().toString().indexOf(".") + 1) > 0) { etWeight.setText(etWeight .getText() .toString() .substring( 0, etWeight.getText().toString().length() - 1)); etWeight.setSelection(etWeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); if (StringUtil.notEmpty(strHeight)) { mHeight = Integer.parseInt(strHeight.trim()); if (rgTime.getCheckedRadioButtonId() == R.id.rb_year) { defaultWeight = MathUtil.add(MathUtil.mul(mHeight, 2), 8); } else { strWeight = etWeight.getText().toString().trim(); if (StringUtil.notEmpty(strWeight) && !".".equals(strWeight.substring(0, 1))) { mWeight = Double.parseDouble(strWeight); if (mHeight < 0 || mWeight < 0) { return; } if (mHeight > 6) { defaultWeight = MathUtil.add( MathUtil.add(mWeight, MathUtil.mul(6, 0.7)), MathUtil.mul((mHeight - 6), 0.5)); } else { defaultWeight = MathUtil.add(mWeight, MathUtil.mul(mHeight, 0.7)); } } } DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(defaultWeight); tvResult.setText(Weight); } } }); } private int mAge; private String strAge; /** * 体重指数(BMI) */ private void startThree(View view) { final EditText etHeight = (EditText) view.findViewById(R.id.et_height); final EditText etWeight = (EditText) view.findViewById(R.id.et_weight); final TextView tvResult = (TextView) view.findViewById(R.id.tv_result); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etHeight.getText().toString().indexOf(".") >= 0) { if (etHeight .getText() .toString() .indexOf( ".", etHeight.getText().toString().indexOf(".") + 1) > 0) { etHeight.setText(etHeight .getText() .toString() .substring( 0, etHeight.getText().toString().length() - 1)); etHeight.setSelection(etHeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); strWeight = etWeight.getText().toString(); if (StringUtil.notEmpty(strHeight)) { if (".".equals(strHeight.substring(0, 1))) { ToastUtil.showToast("请输入身高参考范围:100.00cm-300.00cm"); etHeight.setText(""); return; } mHeight = Double.parseDouble(strHeight.trim()); if (mHeight > 300.00 || mHeight < 1) { ToastUtil.showToast("请输入身高参考范围:100.00-300.00cm"); etHeight.setText(""); return; } if(mHeight < 100) { ToastUtil.showToast("请输入身高参考范围:100.00cm-300.00cm"); return; } if (StringUtil.notEmpty(strWeight)) { if (".".equals(strWeight.substring(0, 1))) { ToastUtil.showToast("请输入体重参考范围:5-400.00Kg"); etWeight.setText(""); return; } mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 1 || mWeight > 400.00) { ToastUtil.showToast("体重范围:5-400.00Kg"); etWeight.setText(""); return; } } else { return; } if (mHeight < 100 || mWeight < 0) { return; } double temp = MathUtil.div(mHeight, 100); double result = MathUtil.div(mWeight, MathUtil.mul(temp, temp)); DecimalFormat df = new DecimalFormat("0.0"); String r = df.format(result); tvResult.setText(r); // BigDecimal b = new BigDecimal(result); // tvResult.setText(String.valueOf(b.setScale(2, // BigDecimal.ROUND_HALF_UP).doubleValue())); } } }); etWeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etWeight.getText().toString().indexOf(".") >= 0) { if (etWeight .getText() .toString() .indexOf( ".", etWeight.getText().toString().indexOf(".") + 1) > 0) { etWeight.setText(etWeight .getText() .toString() .substring( 0, etWeight.getText().toString().length() - 1)); etWeight.setSelection(etWeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strWeight = etWeight.getText().toString(); strHeight = etHeight.getText().toString(); if (StringUtil.notEmpty(strWeight)) { if (".".equals(strWeight.substring(0, 1))) { ToastUtil.showToast("请输入体重参考范围:5-400.00kg"); etWeight.setText(""); return; } mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 1 || mWeight > 400.00) { ToastUtil.showToast("体重范围:5-400.00Kg"); etWeight.setText(""); return; } if (StringUtil.notEmpty(strHeight)) { if (".".equals(strHeight.substring(0, 1))) { ToastUtil.showToast("请输入身高参考范围:100.00cm-300.00cm"); etHeight.setText(""); return; } mHeight = Double.parseDouble(strHeight.trim()); if (mHeight > 300.00 || mHeight < 1) { ToastUtil.showToast("请输入身高参考范围:100.00-300.00cm"); etHeight.setText(""); return; } } else { return; } if (mHeight < 100 || mWeight < 0) { return; } double temp = MathUtil.div(mHeight, 100); double result = MathUtil.div(mWeight, MathUtil.mul(temp, temp), 1); DecimalFormat df = new DecimalFormat("0.0"); String r = df.format(result); tvResult.setText(r); } } }); } /** * 基础能耗 */ private void startFour(View view) { final RadioGroup rgSex = (RadioGroup) view.findViewById(R.id.rg_sex); final EditText etHeight = (EditText) view.findViewById(R.id.et_height); final EditText etWeight = (EditText) view.findViewById(R.id.et_weight); final EditText etAge = (EditText) view.findViewById(R.id.et_age); final TextView tvResult = (TextView) view.findViewById(R.id.tv_result); rgSex.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { tvResult.setText("--"); etHeight.setText(""); etWeight.setText(""); etAge.setText(""); } }); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText(""); if (etHeight.getText().toString().indexOf(".") >= 0) { if (etHeight .getText() .toString() .indexOf( ".", etHeight.getText().toString().indexOf(".") + 1) > 0) { etHeight.setText(etHeight .getText() .toString() .substring( 0, etHeight.getText().toString().length() - 1)); etHeight.setSelection(etHeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); strWeight = etWeight.getText().toString(); strAge = etAge.getText().toString(); if (StringUtil.notEmpty(strHeight)) { if (".".equals(strHeight.substring(0, 1))) { ToastUtil.showToast("身高范围:100cm-300cm"); etHeight.setText(""); return; } mHeight = Double.parseDouble(strHeight.trim()); if (strHeight.length() <= 2) { return; } if (mHeight < 100 || mHeight > 300) { ToastUtil.showToast("身高范围:100cm-300cm"); etHeight.setText(""); return; } if (StringUtil.notEmpty(strWeight)) { mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 1 || mWeight > 400) { ToastUtil.showToast("体重范围:5Kg-400Kg"); etWeight.setText(""); return; } } else { return; } if (StringUtil.notEmpty(strAge)) { mAge = Integer.parseInt(strAge.trim()); if (mAge < 1 || mAge > 200) { ToastUtil.showToast("年龄范围:0-200"); etAge.setText(""); return; } } else { return; } double result = 0.0; if (mHeight <100 || mWeight < 0 || mAge < 0) { return; } // (1)男性BEE(kcal)=66.5+13.7×W+5.0×H-6.8×A // (2)女性BEE(kcal)=65.1+9.56×W+1.85×H-4.68×A // W为体重(kg),H为身高(cm),A为年龄(岁),BEE以kcal为计算单位,1kcal=4.184kJ if (rgSex.getCheckedRadioButtonId() == R.id.rb_male) { double temp = MathUtil.add(66.5, MathUtil.mul(13.7, mWeight)); double temp1 = MathUtil.sub(MathUtil.mul(5.0, mHeight), MathUtil.mul(6.8, mAge)); result = MathUtil.mul(4.184, MathUtil.add(temp, temp1)); } else { double temp = MathUtil.add(655.1, MathUtil.mul(9.56, mWeight)); double temp1 = MathUtil.sub( MathUtil.mul(1.85, mHeight), MathUtil.mul(4.68, mAge)); result = MathUtil.mul(4.184, MathUtil.add(temp, temp1)); } DecimalFormat df = new DecimalFormat("0.0000"); String r = df.format(result / 4.184); tvResult.setText(r); // tvResult.setText(String.valueOf(result/4.184)); } } }); etWeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etWeight.getText().toString().indexOf(".") >= 0) { if (etWeight .getText() .toString() .indexOf( ".", etWeight.getText().toString().indexOf(".") + 1) > 0) { etWeight.setText(etWeight .getText() .toString() .substring( 0, etWeight.getText().toString().length() - 1)); etWeight.setSelection(etWeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); strWeight = etWeight.getText().toString(); strAge = etAge.getText().toString(); if (StringUtil.notEmpty(strWeight)) { if (".".equals(strWeight.substring(0, 1))) { ToastUtil.showToast("体重范围:5Kg-400Kg"); etWeight.setText(""); return; } mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 1 || mWeight > 400) { ToastUtil.showToast("体重范围:5Kg-400Kg"); etWeight.setText(""); return; } if (StringUtil.notEmpty(strHeight)) { mHeight = Double.parseDouble(strHeight.trim()); if (mHeight < 100 || mHeight > 300) { ToastUtil.showToast("身高范围:100cm-300cm"); etHeight.setText(""); return; } } else { return; } if (StringUtil.notEmpty(strAge)) { mAge = Integer.parseInt(strAge.trim()); if (mAge < 1 || mAge > 200) { ToastUtil.showToast("年龄范围:0-200"); etAge.setText(""); return; } } else { return; } double result = 0.0; if (mHeight < 0 || mWeight < 0 || mAge < 0) { return; } if (rgSex.getCheckedRadioButtonId() == R.id.rb_male) { double temp = MathUtil.add(66.5, MathUtil.mul(13.7, mWeight)); double temp1 = MathUtil.sub(MathUtil.mul(5.0, mHeight), MathUtil.mul(6.8, mAge)); result = MathUtil.mul(4.184, MathUtil.add(temp, temp1)); } else { double temp = MathUtil.add(655.1, MathUtil.mul(9.56, mWeight)); double temp1 = MathUtil.sub( MathUtil.mul(1.85, mHeight), MathUtil.mul(4.68, mAge)); result = MathUtil.mul(4.184, MathUtil.add(temp, temp1)); } DecimalFormat df = new DecimalFormat("0.0000"); String r = df.format(result / 4.184); tvResult.setText(r); // tvResult.setText(String.valueOf(result/4.184)); } } }); etAge.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etAge.getText().toString().indexOf(".") >= 0) { if (etAge .getText() .toString() .indexOf(".", etAge.getText().toString().indexOf(".") + 1) > 0) { etAge.setText(etAge .getText() .toString() .substring(0, etAge.getText().toString().length() - 1)); etAge.setSelection(etAge.getText().toString().length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); strWeight = etWeight.getText().toString(); strAge = etAge.getText().toString(); if (StringUtil.notEmpty(strAge)) { mAge = Integer.parseInt(strAge.trim()); if (mAge < 1 || mAge > 200) { ToastUtil.showToast("年龄范围:0-200"); etAge.setText(""); return; } if (strHeight.length() <= 2) { return; } if (StringUtil.notEmpty(strHeight)) { mHeight = Double.parseDouble(strHeight.trim()); if (mHeight < 100 || mHeight > 300) { ToastUtil.showToast("身高范围:100cm-300cm"); etHeight.setText(""); return; } } else { return; } if (StringUtil.notEmpty(strWeight)) { mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 1 || mWeight > 400) { ToastUtil.showToast("体重范围:5Kg-400Kg"); etWeight.setText(""); return; } } else { return; } double result = 0.0; if (mHeight < 0 || mWeight < 0 || mAge < 0) { return; } if (rgSex.getCheckedRadioButtonId() == R.id.rb_male) { double temp = MathUtil.add(66.5, MathUtil.mul(13.7, mWeight)); double temp1 = MathUtil.sub(MathUtil.mul(5.0, mHeight), MathUtil.mul(6.8, mAge)); result = MathUtil.mul(4.184, MathUtil.add(temp, temp1)); } else { double temp = MathUtil.add(655.1, MathUtil.mul(9.56, mWeight)); double temp1 = MathUtil.sub( MathUtil.mul(1.85, mHeight), MathUtil.mul(4.68, mAge)); result = MathUtil.mul(4.184, MathUtil.add(temp, temp1)); } DecimalFormat df = new DecimalFormat("0.0000"); String r = df.format(result / 4.184); tvResult.setText(r); // tvResult.setText(String.valueOf(result/4.184)); } } }); } /** * 体表面积 */ private void startFive(View view) { final EditText etHeight = (EditText) view.findViewById(R.id.et_height); final EditText etWeight = (EditText) view.findViewById(R.id.et_weight); final TextView tvResult = (TextView) view.findViewById(R.id.tv_result); etHeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etHeight.getText().toString().indexOf(".") >= 0) { if (etHeight .getText() .toString() .indexOf( ".", etHeight.getText().toString().indexOf(".") + 1) > 0) { etHeight.setText(etHeight .getText() .toString() .substring( 0, etHeight.getText().toString().length() - 1)); etHeight.setSelection(etHeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); strWeight = etWeight.getText().toString(); if (StringUtil.notEmpty(strHeight)) { if (".".equals(strHeight.substring(0, 1))) { ToastUtil.showToast("身高范围:100cm-300cm"); etHeight.setText(""); return; } mHeight = Double.parseDouble(strHeight.trim()); // if (strHeight.length() <= 2) { // return; // } if (mHeight > 300.00 || mHeight < 1) { ToastUtil.showToast("请输入身高参考范围:100cm-300cm"); etHeight.setText(""); return; } if (StringUtil.notEmpty(strWeight)) { mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 1 || mWeight > 400.00) { ToastUtil.showToast("体重范围:5Kg-400Kg"); etWeight.setText(""); return; } } else { return; } if (mHeight < 100 || mWeight < 0) { return; } double temp = MathUtil.add(MathUtil.mul(0.0061, mHeight), MathUtil.mul(0.0128, mWeight)); double result = MathUtil.sub(temp, 0.1529); DecimalFormat df = new DecimalFormat("0.0000"); String r = df.format(result); tvResult.setText(r); } } }); etWeight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etWeight.getText().toString().indexOf(".") >= 0) { if (etWeight .getText() .toString() .indexOf( ".", etWeight.getText().toString().indexOf(".") + 1) > 0) { etWeight.setText(etWeight .getText() .toString() .substring( 0, etWeight.getText().toString().length() - 1)); etWeight.setSelection(etWeight.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etHeight.getText().toString(); strWeight = etWeight.getText().toString(); if (StringUtil.notEmpty(strWeight)) { if (".".equals(strWeight.substring(0, 1))) { ToastUtil.showToast("体重范围:5Kg-400Kg"); etWeight.setText(""); return; } mWeight = Double.parseDouble(strWeight.trim()); if (mWeight < 1 || mWeight > 400) { ToastUtil.showToast("体重范围:5Kg-400Kg"); etWeight.setText(""); return; } if (StringUtil.notEmpty(strHeight)) { mHeight = Double.parseDouble(strHeight.trim()); if (mHeight > 300 || mHeight < 1) { ToastUtil.showToast("请输入身高参考范围:100cm-300cm"); etHeight.setText(""); return; } } else { return; } if (mHeight < 100 || mWeight < 0) { return; } double temp = MathUtil.add(MathUtil.mul(0.0061, mHeight), MathUtil.mul(0.0128, mWeight)); double result = MathUtil.sub(temp, 0.1529); DecimalFormat df = new DecimalFormat("0.0000"); String r = df.format(result); tvResult.setText(r); } } }); } int oneScore; int twoScore; int threeScore; int fourScore; int fiveScore; /** * Child-Pugh评分 */ private void startSix(View view) { RadioGroup one = (RadioGroup) view.findViewById(R.id.rg_one); RadioGroup two = (RadioGroup) view.findViewById(R.id.rg_two); RadioGroup three = (RadioGroup) view.findViewById(R.id.rg_three); RadioGroup four = (RadioGroup) view.findViewById(R.id.rg_four); RadioGroup five = (RadioGroup) view.findViewById(R.id.rg_five); final TextView tvResult = (TextView) view.findViewById(R.id.tv_result); tvResult.setText("0分(您已选择0个必选项,还有5个必选项未选)"); one.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_five_default: oneScore = 1; break; case R.id.rb_five_small: oneScore = 2; break; case R.id.rb_five_big: oneScore = 3; break; } int sum = 0; if (oneScore == 0) { sum++; } if (twoScore == 0) { sum++; } if (threeScore == 0) { sum++; } if (fourScore == 0) { sum++; } if (fiveScore == 0) { sum++; } int result = oneScore + twoScore + threeScore + fourScore + fiveScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(5 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); two.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_ascites_default: twoScore = 1; break; case R.id.rb_ascites_small: twoScore = 2; break; case R.id.rb_ascites_big: twoScore = 3; break; } int sum = 0; if (oneScore == 0) { sum++; } if (twoScore == 0) { sum++; } if (threeScore == 0) { sum++; } if (fourScore == 0) { sum++; } if (fiveScore == 0) { sum++; } int result = oneScore + twoScore + threeScore + fourScore + fiveScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(5 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); three.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_μmol_default: threeScore = 1; break; case R.id.rb_μmol_small: threeScore = 2; break; case R.id.rb_μmol_big: threeScore = 3; break; } int sum = 0; if (oneScore == 0) { sum++; } if (twoScore == 0) { sum++; } if (threeScore == 0) { sum++; } if (fourScore == 0) { sum++; } if (fiveScore == 0) { sum++; } int result = oneScore + twoScore + threeScore + fourScore + fiveScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(5 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); four.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_g_default: fourScore = 1; break; case R.id.rb_g_small: fourScore = 2; break; case R.id.rb_g_big: fourScore = 3; break; } int sum = 0; if (oneScore == 0) { sum++; } if (twoScore == 0) { sum++; } if (threeScore == 0) { sum++; } if (fourScore == 0) { sum++; } if (fiveScore == 0) { sum++; } int result = oneScore + twoScore + threeScore + fourScore + fiveScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(5 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); five.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_s_default: fiveScore = 1; break; case R.id.rb_s_small: fiveScore = 2; break; case R.id.rb_s_big: fiveScore = 3; break; } int sum = 0; if (oneScore == 0) { sum++; } if (twoScore == 0) { sum++; } if (threeScore == 0) { sum++; } if (fourScore == 0) { sum++; } if (fiveScore == 0) { sum++; } int result = oneScore + twoScore + threeScore + fourScore + fiveScore; if (sum != 0) tvResult.setText(String.valueOf(result) + "分(您已选择" + formatterNum(5 - sum) + "个必选项,还有" + sum + "个必选项未选)"); else tvResult.setText(String.valueOf(result) + "分"); } }); } /** * * 格式化数字 */ private String formatterNum(int num) { String result = ""; switch (num) { case 1: result = "一"; break; case 2: result = "二"; break; case 3: result = "三"; break; case 4: result = "四"; break; case 5: result = "五"; break; case 6: result = "六"; break; case 7: result = "七"; break; case 8: result = "八"; break; case 9: result = "九"; break; case 10: result = "十"; break; case 11: result = "十一"; break; } return result; } double mRed; double mTemp; /** * MELD评分 */ private void startSeven(View view) { final EditText etRed = (EditText) view.findViewById(R.id.et_red); final EditText etBlood = (EditText) view.findViewById(R.id.et_blood); final EditText etINR = (EditText) view.findViewById(R.id.et_inr); final RadioGroup rgCause = (RadioGroup) view .findViewById(R.id.rg_cause); final TextView tvResult = (TextView) view.findViewById(R.id.tv_result); rgCause.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { strHeight = etRed.getText().toString(); strWeight = etBlood.getText().toString(); strAge = etINR.getText().toString(); if (StringUtil.notEmpty(strHeight) && StringUtil.notEmpty(strWeight) && StringUtil.notEmpty(strAge)) { mRed = Double.parseDouble(strHeight.trim()); mWeight = Double.parseDouble(strWeight.trim()); mTemp = Double.parseDouble(strAge.trim()); // R=3.8×ln[总胆红素(umol/L)/17.1]+11.2×ln(INR)+9.6ln[肌酐(umol/L)/88.4]+6.4×(病因:胆汁性或酒精性0,其他1) double temp1 = MathUtil.add( MathUtil.mul(3.8, MathUtil.ln(MathUtil.div(mRed, 17.1))), MathUtil.mul(11.2, MathUtil.ln(mTemp))); double temp2 = MathUtil.mul(9.6, MathUtil.ln(MathUtil.div(mWeight, 88.4))); double result = MathUtil.add(temp1, temp2); if (checkedId == R.id.rb_other) { result = result + 6.4 * 1; } else { result = result + 6.4 * 0; } DecimalFormat df = new DecimalFormat("0.00"); String r = df.format(result); tvResult.setText(r); } } }); etRed.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etRed.getText().toString().indexOf(".") >= 0) { if (etRed .getText() .toString() .indexOf(".", etRed.getText().toString().indexOf(".") + 1) > 0) { etRed.setText(etRed .getText() .toString() .substring(0, etRed.getText().toString().length() - 1)); etRed.setSelection(etRed.getText().toString().length()); } } } @Override public void afterTextChanged(Editable s) { strHeight = etRed.getText().toString(); if (StringUtil.notEmpty(strHeight)) { if (".".equals(strHeight.substring(0, 1))) { ToastUtil.showToast("请正确输入总胆红素(0.1-2000)"); etRed.setText(""); return; } mRed = Double.parseDouble(strHeight.trim()); if (strHeight.length() <= 1 && "0".equals(strHeight.substring(0, 1))) { return; } if (strHeight.length() > 2 && ".".equals(strHeight.substring(1, 2))) { if (mRed < 0.1) { ToastUtil.showToast("请正确输入总胆红素(0.1-2000)"); etRed.setText(""); return; } } if (mRed > 2000) { ToastUtil.showToast("请正确输入总胆红素(0.1-2000)"); etRed.setText(""); return; } } strWeight = etBlood.getText().toString(); strAge = etINR.getText().toString(); if (StringUtil.notEmpty(strHeight) && StringUtil.notEmpty(strWeight) && StringUtil.notEmpty(strAge)) { mWeight = Double.parseDouble(strWeight.trim()); mTemp = Double.parseDouble(strAge.trim()); if (mRed < 0 || mTemp < 0 || mWeight < 0) { return; } double temp1 = MathUtil.add( MathUtil.mul(3.8, MathUtil.ln(MathUtil.div(mRed, 17.1))), MathUtil.mul(11.2, MathUtil.ln(mTemp))); double temp2 = MathUtil.mul(9.6, MathUtil.ln(MathUtil.div(mWeight, 88.4))); double result = MathUtil.add(temp1, temp2); if (rgCause.getCheckedRadioButtonId() == R.id.rb_other) { result = result + 6.4 * 1; } else { result = result + 6.4 * 0; } DecimalFormat df = new DecimalFormat("0.00"); String r = df.format(result); tvResult.setText(r); } } }); etBlood.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etBlood.getText().toString().indexOf(".") >= 0) { if (etBlood .getText() .toString() .indexOf( ".", etBlood.getText().toString().indexOf(".") + 1) > 0) { etBlood.setText(etBlood .getText() .toString() .substring( 0, etBlood.getText().toString().length() - 1)); etBlood.setSelection(etBlood.getText().toString() .length()); } } } @Override public void afterTextChanged(Editable s) { strWeight = etBlood.getText().toString(); if (StringUtil.notEmpty(strWeight)) { if (".".equals(strWeight.substring(0, 1))) { ToastUtil.showToast("请正确输入肌酐(0.1-5000)"); etBlood.setText(""); return; } mWeight = Double.parseDouble(strWeight.trim()); if (strWeight.length() <= 1 && "0".equals(strWeight.substring(0, 1))) { return; } if (strWeight.length() > 2 && ".".equals(strWeight.substring(1, 2))) { if (mWeight < 0.1) { ToastUtil.showToast("请正确输入肌酐(0.1-5000)"); etBlood.setText(""); return; } } if (mWeight > 5000) { ToastUtil.showToast("请正确输入肌酐(0.1-5000)"); etBlood.setText(""); return; } } strHeight = etRed.getText().toString(); strAge = etINR.getText().toString(); if (StringUtil.notEmpty(strHeight) && StringUtil.notEmpty(strWeight) && StringUtil.notEmpty(strAge)) { mRed = Double.parseDouble(strHeight.trim()); mTemp = Double.parseDouble(strAge.trim()); if (mRed < 0 || mTemp < 0 || mWeight < 0) { return; } double temp1 = MathUtil.add( MathUtil.mul(3.8, MathUtil.ln(MathUtil.div(mRed, 17.1))), MathUtil.mul(11.2, MathUtil.ln(mTemp))); double temp2 = MathUtil.mul(9.6, MathUtil.ln(MathUtil.div(mWeight, 88.4))); double result = MathUtil.add(temp1, temp2); if (rgCause.getCheckedRadioButtonId() == R.id.rb_other) { result = result + 6.4 * 1; } else { result = result + 6.4 * 0; } DecimalFormat df = new DecimalFormat("0.00"); String r = df.format(result); tvResult.setText(r); } } }); etINR.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { tvResult.setText("--"); if (etINR.getText().toString().indexOf(".") >= 0) { if (etINR .getText() .toString() .indexOf(".", etINR.getText().toString().indexOf(".") + 1) > 0) { etINR.setText(etINR .getText() .toString() .substring(0, etINR.getText().toString().length() - 1)); etINR.setSelection(etINR.getText().toString().length()); } } } @Override public void afterTextChanged(Editable s) { strAge = etINR.getText().toString(); if (StringUtil.notEmpty(strAge)) { if (".".equals(strAge.substring(0, 1))) { ToastUtil.showToast("请正确输入INR(0.01-5)"); etINR.setText(""); return; } mTemp = Double.parseDouble(strAge.trim()); if (strAge.length() <= 1 && "0".equals(strAge.substring(0, 1))) { return; } if ("0".equals(strAge.substring(0, 1)) && strAge.length() >= 2 && ".".equals(strAge.substring(1, 2)) && strAge.length() >= 3 && "0".equals(strAge.substring(2, 3)) && strAge.length() >= 4) { if (mTemp < 0.01) { ToastUtil.showToast("请正确输入INR(0.01-5)"); etINR.setText(""); return; } } else if ("0".equals(strAge.substring(0, 1)) && strAge.length() >= 2 && ".".equals(strAge.substring(1, 2)) && strAge.length() >= 3 && "0".equals(strAge.substring(2, 3))) { return; } if (mTemp > 5) { ToastUtil.showToast("请正确输入INR(0.01-5)"); etINR.setText(""); return; } } strHeight = etRed.getText().toString(); strWeight = etBlood.getText().toString(); if (StringUtil.notEmpty(strHeight) && StringUtil.notEmpty(strWeight) && StringUtil.notEmpty(strAge)) { mRed = Double.parseDouble(strHeight.trim()); mWeight = Double.parseDouble(strWeight.trim()); if (mRed < 0 || mTemp < 0 || mWeight < 0) { return; } double temp1 = MathUtil.add( MathUtil.mul(3.8, MathUtil.ln(MathUtil.div(mRed, 17.1))), MathUtil.mul(11.2, MathUtil.ln(mTemp))); double temp2 = MathUtil.mul(9.6, MathUtil.ln(MathUtil.div(mWeight, 88.4))); double result = MathUtil.add(temp1, temp2); if (rgCause.getCheckedRadioButtonId() == R.id.rb_other) { result = result + 6.40; } DecimalFormat df = new DecimalFormat("0.00"); String r = df.format(result); tvResult.setText(r); } } }); } private void startNineteen(View view) { final RadioGroup rg_sex = (RadioGroup) view.findViewById(R.id.rg_sex); final RadioGroup rg_sexs = (RadioGroup) view.findViewById(R.id.rg_sex1); final EditText et_height = (EditText) view.findViewById(R.id.et_height); final EditText et_weight = (EditText) view.findViewById(R.id.et_weight); final EditText et_age = (EditText) view.findViewById(R.id.et_age); final TextView jiganzhi = (TextView) view.findViewById(R.id.jiganzhi); final TextView tv_result = (TextView) view.findViewById(R.id.tv_result); final RadioButton rb_mg = (RadioButton) view.findViewById(R.id.rb_mg); final RadioButton rb_um = (RadioButton) view.findViewById(R.id.rb_umol); final RadioButton rb_man = (RadioButton) view.findViewById(R.id.rb_man); final RadioButton rb_woman = (RadioButton) view .findViewById(R.id.rb_woman); rg_sex.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { et_age.setText(""); et_height.setText(""); et_weight.setText(""); tv_result.setText(""); switch (checkedId) { case R.id.rb_mg: jiganzhi.setText("mg/dL"); break; case R.id.rb_umol: jiganzhi.setText("µmol/L"); break; default: break; } } }); rg_sexs.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { et_age.setText(""); et_height.setText(""); et_weight.setText(""); tv_result.setText(""); } }); rg_sex.check(R.id.rb_mg); rg_sexs.check(R.id.rb_man); et_weight.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { final String height = et_height.getText().toString().trim(); final String age = et_age.getText().toString().trim(); final String weight = et_weight.getText().toString().trim(); if (!height.equals("0") && !age.equals("0") && !et_weight.equals("0") && !height.equals("") && !age.equals("") && !weight.equals("")) { double height1 = Double.parseDouble(height); double age1 = Double.parseDouble(age); double weight1 = Double.parseDouble(weight); double result = 0; // 男 mg/dl if (rb_mg.isChecked() && rb_man.isChecked()) { result = ((140 - age1) * weight1) / (72 * height1); } // 女 mg/dl if (rb_mg.isChecked() && rb_woman.isChecked()) { result = ((140 - age1) * weight1) / (72 * height1) * 0.85; } // 男 µmol/L // c=new Double(Math.round(a/b)/1000.0);//这样为保持3位 if (rb_um.isChecked() && rb_man.isChecked()) { result = ((140 - age1) * weight1) / (0.818 * height1); } // 女 µmol/L if (rb_um.isChecked() && rb_woman.isChecked()) { result = ((140 - age1) * weight1) / (0.818 * height1) * 0.85; } if (result != 0) { DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(result); tv_result.setText(Weight); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); et_height.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { final String height = et_height.getText().toString().trim(); final String age = et_age.getText().toString().trim(); final String weight = et_weight.getText().toString().trim(); if (!height.equals("0") && !age.equals("0") && !et_weight.equals("0") && !height.equals("") && !age.equals("") && !weight.equals("")) { double height1 = Double.parseDouble(height); double age1 = Double.parseDouble(age); double weight1 = Double.parseDouble(weight); double result = 0; // 男 mg/dl if (rb_mg.isChecked() && rb_man.isChecked()) { result = (140 - age1) * weight1 / (72 * height1); } // 女 mg/dl if (rb_mg.isChecked() && rb_woman.isChecked()) { result = (140 - age1) * weight1 / (72 * height1) * 0.85; } // 男 µmol/L // c=new Double(Math.round(a/b)/1000.0);//这样为保持3位 if (rb_um.isChecked() && rb_man.isChecked()) { result = ((140 - age1) * weight1) / (0.818 * height1); } // 女 µmol/L if (rb_um.isChecked() && rb_woman.isChecked()) { result = ((140 - age1) * weight1) / (0.818 * height1) * 0.85; } if (result != 0) { DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(result); tv_result.setText(Weight); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); // et_age.addTextChangedListener(new TextWatcher() { // @Override // public void onTextChanged(CharSequence s, int start, int before, // int count) { // final String height = et_height.getText().toString().trim(); // final String age = et_age.getText().toString().trim(); // // if (!height.equals("0") && !age.equals("0") &&!height.equals("") && // !age.equals("") ) { // double height1=Double.parseDouble(height); // double age1=Double.parseDouble(age); // // Math.pow // //男 mg/dl // double result = 186*Math.pow(height1, -1.154)*Math.pow(age1, -0.203); // DecimalFormat df = new DecimalFormat("0.00"); // String Weight = df.format(result); // tv_result.setText(Weight); // } // // } // // @Override // public void beforeTextChanged(CharSequence s, int start, int count, // int after) { // // } // // @Override // public void afterTextChanged(Editable s) { // // } // }); et_age.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { final String height = et_height.getText().toString().trim(); final String age = et_age.getText().toString().trim(); final String weight = et_weight.getText().toString().trim(); if (!height.equals("0") && !age.equals("0") && !et_weight.equals("0") && !height.equals("") && !age.equals("") && !weight.equals("")) { double height1 = Double.parseDouble(height); double age1 = Double.parseDouble(age); double weight1 = Double.parseDouble(weight); double result = 0; // 男 mg/dl if (rb_mg.isChecked() && rb_man.isChecked()) { result = (140 - age1) * weight1 / (72 * height1); } // 女 mg/dl if (rb_mg.isChecked() && rb_woman.isChecked()) { result = (140 - age1) * weight1 / (72 * height1) * 0.85; } // 男 µmol/L // c=new Double(Math.round(a/b)/1000.0);//这样为保持3位 if (rb_um.isChecked() && rb_man.isChecked()) { result = ((140 - age1) * weight1) / (0.818 * height1); } // 女 µmol/L if (rb_um.isChecked() && rb_woman.isChecked()) { result = ((140 - age1) * weight1) / (0.818 * height1) * 0.85; } if (result != 0) { DecimalFormat df = new DecimalFormat("0.00"); String Weight = df.format(result); tv_result.setText(Weight); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); } }