package com.sunvote.xpadapp.fragments; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.logging.Handler; import com.sunvote.xpadapp.MainActivity; import com.sunvote.xpadapp.R; import com.sunvote.xpadapp.base.BaseFragment; import com.sunvote.xpadapp.base.CustomTextView; import com.sunvote.xpadapp.base.TextViewUtils; import com.sunvote.xpadapp.db.DBManager; import com.sunvote.xpadapp.db.modal.BillInfo; import com.sunvote.xpadapp.db.modal.MultiTitleItem; import com.sunvote.xpadcomm.XPadApiInterface.VoteInfo; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; import android.text.TextPaint; import android.util.Log; import android.util.TypedValue; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageButton; import android.widget.RelativeLayout; import android.widget.TextView; public class ResultVoteFragment extends BaseFragment { public BillInfo bill; public ArrayList subInfo; public VoteInfo voteInfo; public String resultStr; public String[] options; public byte[] data; String TAG = "ResultVoteFragment"; private int page = 0; TextView tvBillTitle; TextView tvSubTitle; TextView tvOption1; TextView tvValue1; TextView tvOption2; TextView tvValue2; TextView tvOption3; TextView tvValue3; TextView tvOption4; TextView tvValue4; TextView tvOption5; TextView tvValue5; TextView tvOption6; TextView tvValue6; TextView tvOption7; TextView tvValue7; TextView tvMemo; TextView tvPage; private View fragment_result_option_panel1; private View fragment_result_option_panel2; private View fragment_result_option_panel3; private View fragment_result_option_panel4; private View fragment_result_option_panel5; private View fragment_result_option_panel6; private View fragment_result_option_panel7; private Handler mHandle; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_result_vote, container, false); final MainActivity mact = (MainActivity) getActivity(); tvBillTitle = (TextView) view.findViewById(R.id.fragment_result_bill_title); tvSubTitle = (TextView) view.findViewById(R.id.fragment_result_sub_title); tvOption1 = (TextView) view.findViewById(R.id.fragment_result_option1); tvValue1 = (TextView) view.findViewById(R.id.fragment_result_value1); tvOption2 = (TextView) view.findViewById(R.id.fragment_result_option2); tvValue2 = (TextView) view.findViewById(R.id.fragment_result_value2); tvOption3 = (TextView) view.findViewById(R.id.fragment_result_option3); tvValue3 = (TextView) view.findViewById(R.id.fragment_result_value3); tvOption4 = (TextView) view.findViewById(R.id.fragment_result_option4); tvValue4 = (TextView) view.findViewById(R.id.fragment_result_value4); tvOption5 = (TextView) view.findViewById(R.id.fragment_result_option5); tvValue5 = (TextView) view.findViewById(R.id.fragment_result_value5); tvOption6 = (TextView) view.findViewById(R.id.fragment_result_option6); tvValue6= (TextView) view.findViewById(R.id.fragment_result_value6); tvOption7 = (TextView) view.findViewById(R.id.fragment_result_option7); tvValue7= (TextView) view.findViewById(R.id.fragment_result_value7); fragment_result_option_panel1 = view.findViewById(R.id.fragment_result_option_panel1); fragment_result_option_panel2 = view.findViewById(R.id.fragment_result_option_panel2); fragment_result_option_panel3 = view.findViewById(R.id.fragment_result_option_panel3); fragment_result_option_panel4 = view.findViewById(R.id.fragment_result_option_panel4); fragment_result_option_panel5 = view.findViewById(R.id.fragment_result_option_panel5); fragment_result_option_panel6 = view.findViewById(R.id.fragment_result_option_panel6); fragment_result_option_panel7 = view.findViewById(R.id.fragment_result_option_panel7); fragment_result_option_panel1.setVisibility(View.GONE); fragment_result_option_panel2.setVisibility(View.GONE); fragment_result_option_panel3.setVisibility(View.GONE); fragment_result_option_panel4.setVisibility(View.GONE); fragment_result_option_panel5.setVisibility(View.GONE); fragment_result_option_panel6.setVisibility(View.GONE); fragment_result_option_panel7.setVisibility(View.GONE); tvMemo = (TextView) view.findViewById(R.id.fragment_result_memo); RelativeLayout pagePanel = (RelativeLayout) view.findViewById(R.id.fragment_result_page_panel); tvPage = (TextView) view.findViewById(R.id.fragment_result_page); view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ; } }); Button btnPageUp = (Button) view.findViewById(R.id.fragment_result_pageup); Button btnPageDown = (Button) view.findViewById(R.id.fragment_result_pagedown); btnPageUp.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (page > 0) { page--; showResultByPage(); tvPage.setText(String.format("%d/%d", page + 1, subInfo.size())); } } }); btnPageDown.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (page < subInfo.size() - 1) { page++; showResultByPage(); tvPage.setText(String.format("%d/%d", page + 1, subInfo.size())); } } }); ImageButton btnBack = (ImageButton) view.findViewById(R.id.fragment_result_vote_btn_back); btnBack.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { FragmentManager fm = getFragmentManager(); FragmentTransaction tx = fm.beginTransaction(); tx.remove(ResultVoteFragment.this); tx.commit(); // mact.resultFragment = null; } }); pagePanel.setVisibility(View.GONE); // if (bill != null && bill.title != null) { // //tvBillTitle.setText(bill.title); // } // tvBillTitle.setText(getString(R.string.ceping_result)); showResult(); return view; } int fenmu;//百分比分母 int goToBe;//应到 int goTo;//实到 int notVote;//未按票数 private void showResult(){ if(voteInfo==null){// 自定义表决结果 int bitNum = data[2] & 0xf; int digiters = data[2] >> 4 & 0xf; int voteNo = data[3] & 0xff; int resultSelectModel = data[4] & 0xff; //表决结果 if (bitNum == 0) { //单字节数值 fenmu = data[5] & 0xff; goToBe= data[6] & 0xff; goTo= data[7] & 0xff; notVote= data[8] & 0xff; int pos =9; int i = pos; for (; i < data.length; i++) { if (pos == data.length - 1) { break; } setView(pos,digiters,bitNum,1); } //应到实到 String strYDSD = ""; if (goToBe != 0xff) { strYDSD = strYDSD + getString(R.string.yindao) + ":" + goToBe; } if (goTo != 0xff) { strYDSD = strYDSD + " " + getString(R.string.shidao) + ":" + goTo; } tvBillTitle.setText(strYDSD); if (resultSelectModel != 0xFF) { if(options!=null){ tvMemo.setText(getString(R.string.biaojue_result)+getString(R.string.maohao)+options[resultSelectModel]); } } } else { fenmu = (data[5] <<8 | data[6]) & 0xffff; goToBe = (data[7] << 8 | data[8]) & 0xffff; goTo = (data[9] << 8 | data[10]) & 0xffff; notVote= (data[11] << 8 | data[12]) & 0xffff; int pos = 13; int i = pos; for (; i < data.length; i++) { if (pos == data.length - 1) { break; } setView(pos,digiters,bitNum,2); } //应到实到 String strYDSD = ""; if (goToBe != 0xffff) { strYDSD = strYDSD + getString(R.string.yindao) + ":" + goToBe; } if (goTo != 0xffff) { strYDSD = strYDSD + " " + getString(R.string.shidao) + ":" + goTo; } tvBillTitle.setText(strYDSD); if (resultSelectModel != 0xffff) { if(options!=null){ tvMemo.setText(getString(R.string.biaojue_result)+getString(R.string.maohao)+options[resultSelectModel]); } } } return; } int pass = voteInfo.resultInfo.bits & 0xF; int xiaoShuWei = (voteInfo.resultInfo.bits >> 4) & 0xF; int fenmu = voteInfo.resultInfo.num0; Log.d(TAG, "xiaoshu:" + xiaoShuWei + " fenmu:" + fenmu); if (voteInfo.resultInfo.resultType == 0) {// ??? tvBillTitle.setText(getString(R.string.signin_result)); // tvSubTitle.setText("???????"); fragment_result_option_panel1.setVisibility(View.VISIBLE); fragment_result_option_panel2.setVisibility(View.VISIBLE); fragment_result_option_panel3.setVisibility(View.VISIBLE); tvOption1.setText(getString(R.string.yindao) + getString(R.string.maohao)); tvValue1.setText(String.valueOf(voteInfo.resultInfo.num2) + getString(R.string.ren)); tvOption2.setText(getString(R.string.shidao) + getString(R.string.maohao)); tvValue2.setText(String.valueOf(voteInfo.resultInfo.num3) + getString(R.string.ren)); tvOption3.setText(getString(R.string.weidao) + getString(R.string.maohao)); tvValue3.setText(String.valueOf(voteInfo.resultInfo.num1) + getString(R.string.ren)); if (pass == 0xF) { tvMemo.setText(""); } else if (pass == 0) { tvMemo.setText(getString(R.string.bufuherenshu)); } else { tvMemo.setText(getString(R.string.fuherenshu)); } } else if (voteInfo.resultInfo.resultType == 1) { // tvBillTitle.setText(getString(R.string.biaojue_result)); String strYDSD = ""; if (voteInfo.resultInfo.num1 != 0xffff) { strYDSD = strYDSD + getString(R.string.yindao) + ":" + voteInfo.resultInfo.num1; } if (voteInfo.resultInfo.num2 != 0xffff) { strYDSD = strYDSD + " " + getString(R.string.shidao) + ":" + voteInfo.resultInfo.num2; } tvBillTitle.setText(strYDSD); tvOption1.setText(getString(R.string.agree)); tvValue1.setText(String.valueOf(voteInfo.resultInfo.num4) + getString(R.string.piao)); tvOption2.setText(getString(R.string.oppose)); tvValue2.setText(String.valueOf(voteInfo.resultInfo.num5) + getString(R.string.piao)); tvOption3.setText(getString(R.string.weian)); tvValue3.setText(String.valueOf(voteInfo.resultInfo.num3) + getString(R.string.piao)); fragment_result_option_panel1.setVisibility(View.VISIBLE); fragment_result_option_panel2.setVisibility(View.VISIBLE); fragment_result_option_panel3.setVisibility(View.VISIBLE); if (fenmu > 0 && fenmu != 0xffff) { double pzc = voteInfo.resultInfo.num4 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, xiaoShuWei, false); double pfd = voteInfo.resultInfo.num5 * 1.0 / fenmu * 100; String sfd = formatDoubleToString(pfd, xiaoShuWei, false); double pwa = voteInfo.resultInfo.num3 * 1.0 / fenmu * 100; String swa = formatDoubleToString(pwa, xiaoShuWei, false); tvValue1.setText(String.valueOf(voteInfo.resultInfo.num4) + " (" + szc + "%)"); tvValue2.setText(String.valueOf(voteInfo.resultInfo.num5) + " (" + sfd + "%)"); tvValue3.setText(String.valueOf(voteInfo.resultInfo.num3) + " (" + swa + "%)"); } if (voteInfo.resultInfo.num4 == 0xffff) { tvOption1.setText(""); tvValue1.setText(String.valueOf("")); } if (voteInfo.resultInfo.num5 == 0xffff) { tvOption2.setText(""); tvValue2.setText(String.valueOf("")); } if (voteInfo.resultInfo.num3 == 0xffff) { tvOption3.setText(""); tvValue3.setText(String.valueOf("")); } if (pass == 0xf) { tvMemo.setText(""); } else if (pass == 0) { tvMemo.setText(getString(R.string.biaojue_result)+getString(R.string.maohao)+getString(R.string.no_pass)); } else { tvMemo.setText(getString(R.string.biaojue_result)+getString(R.string.maohao)+getString(R.string.pass)); } } else { if (voteInfo.resultInfo.resultType == 2) { // tvBillTitle.setText(getString(R.string.biaojue_result)); tvOption1.setText(getString(R.string.agree)); tvOption2.setText(getString(R.string.oppose)); tvOption3.setText(getString(R.string.abstant)); fragment_result_option_panel1.setVisibility(View.VISIBLE); fragment_result_option_panel2.setVisibility(View.VISIBLE); fragment_result_option_panel3.setVisibility(View.VISIBLE); if (pass == 0) { tvMemo.setText(getString(R.string.biaojue_result)+getString(R.string.maohao)+getString(R.string.no_pass)); } else { tvMemo.setText(getString(R.string.biaojue_result)+getString(R.string.maohao)+getString(R.string.pass)); } } else if (voteInfo.resultInfo.resultType == 4) { tvOption1.setText(getString(R.string.manyi)); tvOption2.setText(getString(R.string.jbmanyi)); tvOption3.setText(getString(R.string.bumanyi)); fragment_result_option_panel1.setVisibility(View.VISIBLE); fragment_result_option_panel2.setVisibility(View.VISIBLE); fragment_result_option_panel3.setVisibility(View.VISIBLE); if (pass == 0) { tvMemo.setText(getString(R.string.ceping_result)+getString(R.string.maohao)+getString(R.string.manyi)); } else if (pass == 1) { tvMemo.setText(getString(R.string.ceping_result)+getString(R.string.maohao)+getString(R.string.jbmanyi)); } else { tvMemo.setText(getString(R.string.ceping_result)+getString(R.string.maohao)+getString(R.string.bumanyi)); } } else if (voteInfo.resultInfo.resultType == 12) { tvOption1.setText(getString(R.string.manyi)); tvOption2.setText(getString(R.string.bumanyi)); tvOption3.setText(getString(R.string.fcbumanyi)); fragment_result_option_panel1.setVisibility(View.VISIBLE); fragment_result_option_panel2.setVisibility(View.VISIBLE); fragment_result_option_panel3.setVisibility(View.VISIBLE); if (pass == 0) { tvMemo.setText(getString(R.string.ceping_result)+getString(R.string.maohao)+getString(R.string.manyi)); } else if (pass == 1) { tvMemo.setText(getString(R.string.ceping_result)+getString(R.string.maohao)+getString(R.string.bumanyi)); } else { tvMemo.setText(getString(R.string.ceping_result)+getString(R.string.maohao)+getString(R.string.fcbumanyi)); } } if (pass == 0xf) { tvMemo.setText(""); } // bg:0,69,134 String strYDSD = ""; if (voteInfo.resultInfo.num1 != 0xffff) { strYDSD = strYDSD + getString(R.string.yindao) + ":" + voteInfo.resultInfo.num1; } if (voteInfo.resultInfo.num2 != 0xffff) { strYDSD = strYDSD + " " + getString(R.string.shidao) + ":" + voteInfo.resultInfo.num2; } tvBillTitle.setText(strYDSD); fragment_result_option_panel4.setVisibility(View.VISIBLE); tvOption4.setText(getString(R.string.weian)); tvValue4.setText(String.valueOf(voteInfo.resultInfo.num3) + getString(R.string.piao)); tvValue1.setText(String.valueOf(voteInfo.resultInfo.num4) + getString(R.string.piao)); tvValue2.setText(String.valueOf(voteInfo.resultInfo.num5) + getString(R.string.piao)); tvValue3.setText(String.valueOf(voteInfo.resultInfo.num6) + getString(R.string.piao)); if (fenmu > 0 && fenmu != 0xffff) { double pzc = voteInfo.resultInfo.num4 * 1.0 / fenmu * 100; String strOpt1 = formatDoubleToString(pzc, xiaoShuWei, false); double pfd = voteInfo.resultInfo.num5 * 1.0 / fenmu * 100; String strOpt2 = formatDoubleToString(pfd, xiaoShuWei, false); double opt3 = voteInfo.resultInfo.num6 * 1.0 / fenmu * 100; String strOpt3 = formatDoubleToString(opt3, xiaoShuWei, false); double opt4 = voteInfo.resultInfo.num3 * 1.0 / fenmu * 100; String strOpt4 = formatDoubleToString(opt4, xiaoShuWei, false); tvValue1.setText(String.valueOf(voteInfo.resultInfo.num4) + " (" + strOpt1 + "%)"); tvValue2.setText(String.valueOf(voteInfo.resultInfo.num5) + " (" + strOpt2 + "%)"); tvValue3.setText(String.valueOf(voteInfo.resultInfo.num6) + " (" + strOpt3 + "%)"); tvValue4.setText(String.valueOf(voteInfo.resultInfo.num3) + " (" + strOpt4 + "%)"); } if (voteInfo.resultInfo.num4 == 0xffff) { tvOption1.setText(""); tvValue1.setText(String.valueOf("")); } if (voteInfo.resultInfo.num5 == 0xffff) { tvOption2.setText(""); tvValue2.setText(String.valueOf("")); } if (voteInfo.resultInfo.num6 == 0xffff) { tvOption3.setText(""); tvValue3.setText(String.valueOf("")); } if (voteInfo.resultInfo.num3 == 0xffff) { tvOption4.setText(""); tvValue4.setText(String.valueOf("")); } } } private void setView(int pos,int digiters,int bitNum,int type){ if (options.length >= 1) { int value1; if(bitNum==0){ value1 = (data[pos++]) & 0xff; }else{ value1 = (data[pos++] << 8 | data[pos++]) & 0xffff; } fragment_result_option_panel1.setVisibility(View.VISIBLE); tvOption1.setText(options[0]); TextViewUtils.adjustTvTextSize(tvValue1,350,String.valueOf(value1)); if(type==1){ //分母 if ((fenmu > 0 && fenmu != 0xff)) { double pzc = value1 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue1,350,String.valueOf(value1) + " (" + szc + "%)"); } }else{ //分母 if ((fenmu > 0 && fenmu != 0xffff)) { double pzc = value1 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue1,350,String.valueOf(value1) + " (" + szc + "%)"); } } }else { if(notVote!=0xff){ tvOption1.setText(getString(R.string.weian)); tvValue1.setText(String.valueOf(notVote)); } return; } if (options.length >= 2) { int value2; if(bitNum==0){ value2 = (data[pos++]) & 0xff; }else{ value2 = (data[pos++] << 8 | data[pos++]) & 0xffff; } fragment_result_option_panel2.setVisibility(View.VISIBLE); tvOption2.setText(options[1]); TextViewUtils.adjustTvTextSize(tvValue2,350,String.valueOf(value2)); if(type==1){ //分母 if ((fenmu > 0 && fenmu != 0xff)) { double pzc = value2 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue2,350,String.valueOf(value2) + " (" + szc + "%)"); } }else{ //分母 if ((fenmu > 0 && fenmu != 0xffff)) { double pzc = value2 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue2,350,String.valueOf(value2) + " (" + szc + "%)"); } } }else { if(notVote!=0xff) { tvOption2.setText(getString(R.string.weian)); tvValue2.setText(String.valueOf(notVote)); } return; } if (options.length >= 3) { int value3; if(bitNum==0){ value3 = (data[pos++]) & 0xff; }else{ value3 = (data[pos++] << 8 | data[pos++]) & 0xffff; } fragment_result_option_panel3.setVisibility(View.VISIBLE); tvOption3.setText(options[2]); TextViewUtils.adjustTvTextSize(tvValue3,350,String.valueOf(value3)); if(type==1){ //分母 if ((fenmu > 0 && fenmu != 0xff)) { double pzc = value3 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue3,350,String.valueOf(value3) + " (" + szc + "%)"); } }else{ //分母 if ((fenmu > 0 && fenmu != 0xffff)) { double pzc = value3 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue3,350,String.valueOf(value3) + " (" + szc + "%)"); } } }else { if(notVote!=0xff) { tvOption3.setText(getString(R.string.weian)); tvValue3.setText(String.valueOf(notVote)); } return; } if (options.length >= 4) { int value4; if(bitNum==0){ value4 = (data[pos++]) & 0xff; }else{ value4 = (data[pos++] << 8 | data[pos++]) & 0xffff; } fragment_result_option_panel4.setVisibility(View.VISIBLE); tvOption4.setText(options[3]); TextViewUtils.adjustTvTextSize(tvValue4,350,String.valueOf(value4)); if(type==1){ //分母 if ((fenmu > 0 && fenmu != 0xff)) { double pzc = value4 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue4,350,String.valueOf(value4) + " (" + szc + "%)"); } }else{ //分母 if ((fenmu > 0 && fenmu != 0xffff)) { double pzc = value4 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue4,350,String.valueOf(value4) + " (" + szc + "%)"); } } }else { if(notVote!=0xff) { tvOption4.setText(getString(R.string.weian)); tvValue4.setText(String.valueOf(notVote)); } return; } if (options.length >= 5) { int value5 ; if(bitNum==0){ value5 = (data[pos++]) & 0xff; }else{ value5 = (data[pos++] << 8 | data[pos++]) & 0xffff; } fragment_result_option_panel5.setVisibility(View.VISIBLE); tvOption5.setText(options[4]); TextViewUtils.adjustTvTextSize(tvValue5,350,String.valueOf(value5)); if(type==1){ //分母 if ((fenmu > 0 && fenmu != 0xff)) { double pzc = value5 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue5,350,String.valueOf(value5) + " (" + szc + "%)"); } }else{ //分母 if ((fenmu > 0 && fenmu != 0xffff)) { double pzc = value5 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue5,350,String.valueOf(value5) + " (" + szc + "%)"); } } }else { if(notVote!=0xff) { tvOption5.setText(getString(R.string.weian)); tvValue5.setText(String.valueOf(notVote)); } return; } if (options.length >= 6) { int value6; if(bitNum==0){ value6 = (data[pos++]) & 0xff; }else{ value6 = (data[pos++] << 8 | data[pos++]) & 0xffff; } fragment_result_option_panel6.setVisibility(View.VISIBLE); tvOption6.setText(options[5]); TextViewUtils.adjustTvTextSize(tvValue6,350,String.valueOf(value6)); if(type==1){ //分母 if ((fenmu > 0 && fenmu != 0xff)) { double pzc = value6 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue6,350,String.valueOf(value6) + " (" + szc + "%)"); } }else{ //分母 if ((fenmu > 0 && fenmu != 0xffff)) { double pzc = value6 * 1.0 / fenmu * 100; String szc = formatDoubleToString(pzc, digiters, false); TextViewUtils.adjustTvTextSize(tvValue6,350,String.valueOf(value6) + " (" + szc + "%)"); } } if(notVote!=0xff) { tvOption7.setText(getString(R.string.weian)); tvValue7.setText(String.valueOf(notVote)); } }else { if(notVote!=0xff) { tvOption6.setText(getString(R.string.weian)); tvValue6.setText(String.valueOf(notVote)); } return; } } public static String toDBC(String input) { char[] c = input.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == 12288) { c[i] = (char) 32; continue; } if (c[i] > 65280 && c[i] < 65375) c[i] = (char) (c[i] - 65248); } return new String(c); } private void showResultByPage() { Log.d("ResultVoteFragment", "page:" + page + " resultStr:" + resultStr); if (options != null) { if (options.length > 0) { tvOption1.setText(options[0]); } if (options.length > 1) { tvOption2.setText(options[1]); } if (options.length == 2) { tvOption3.setVisibility(View.GONE); tvValue3.setVisibility(View.GONE); } else if (options.length > 2) { tvOption3.setText(options[2]); } } if (resultStr == null || resultStr.length() == 0) { return; } if (subInfo == null) { Log.d(TAG, "subInfo is null"); MultiTitleItem it = subInfo.get(page); tvBillTitle.setText(it.title); } String[] results = resultStr.split(";"); Log.d("ResultVoteFragment", "results:" + results[page]); String[] ary = results[page].split(","); if (ary.length > 0) { tvValue1.setText(ary[0]); } if (ary.length > 1) { tvValue2.setText(ary[1]); } if (ary.length > 2) { tvValue3.setText(ary[2]); } if (ary.length > options.length) { if (ary[ary.length - 1].equals("0")) { tvMemo.setText(getString(R.string.no_pass)); } else { tvMemo.setText(getString(R.string.pass)); } } } public static String formatDoubleToString(double value, Integer digits, boolean remove) { if (value == 0 || value == 100) { DecimalFormat df = new DecimalFormat("0"); return df.format(value); } if (digits == null || digits < 0) { return String.valueOf(value); } else if (digits == 0) { DecimalFormat df = new DecimalFormat("0"); return df.format(value); } else { String temp = "0"; if (remove) { temp = "#"; } StringBuffer buffer = new StringBuffer("0."); for (int i = 0; i < digits; i++) { buffer.append(temp); } DecimalFormat df = new DecimalFormat(buffer.toString()); return df.format(value); } } }