package com.wise.wawc; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.Iterator; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPut; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.protocol.HTTP; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import com.wise.data.CarData; import com.wise.data.CharacterParser; import com.wise.data.IllegalCity; import com.wise.data.ProvinceModel; import com.wise.extend.CarAdapter; import com.wise.pubclas.Constant; import com.wise.pubclas.GetSystem; import com.wise.pubclas.NetThread; import com.wise.pubclas.Variable; import com.wise.sql.DBExcute; import com.wise.sql.DBHelper; import android.app.Activity; import android.app.AlertDialog; import android.app.DatePickerDialog; import android.app.ProgressDialog; import android.content.BroadcastReceiver; import android.content.ContentValues; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.app.Fragment; import android.text.InputFilter; import android.util.Log; import android.util.TypedValue; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import android.widget.GridView; import android.widget.HorizontalScrollView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TableRow; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; import android.widget.LinearLayout.LayoutParams; public class Fragment_vehicle extends Fragment{ private ImageView menu = null; private TextView editVehicle = null; private TableRow brand = null; private TableRow device = null; private TableRow insuranceCompany = null; private TableRow selectCity = null; private TableRow engineNumLayout = null; private TableRow vehicleNumLayout = null; private TableRow registerNumLayout = null; private TextView showInsuranceCompany; //显示保险公司 public static final int resultCodeInsurance = 2; //选择保险公司的识别码 public static final int resultCodeBrank = 3; //选择汽车品牌的识别码 public static final int resultCodeSeries = 12; //选择汽车品牌的识别码 public static final int resultCodeType = 14; //选择汽车品牌的识别码 public static final int resultCodeMaintain = 6; public static final int resultCodeDevice = 7; public static final int showCarData = 8; //显示汽车数据 public static final int deleteCarData = 10; //删除汽车数据 private static final int setCarLogo = 11; // 动态设置汽车Logo public static final int getCityViolateRegulationsCode = 41; // 获取违章城市代码 private static final int getBrankData = 39; private static final int getSeriesData = 37; private static final int getIllegalforUrlCode = 42; // 获取违章城市代码 private static final int bindDeviceId = 13; public static final int myVehiclePetrol = 15; private static final int addCarResultCode = 16; HorizontalScrollView horizontalscrollview; View v_divider; private EditText etDialogMileage = null; //输入里程 private TableRow choiceMaintian = null; private TableRow petrolGradeTr = null; private TextView myVehicleBrank = null; private TextView tvMaintain = null; private EditText vehicleNumber = null; private EditText engineNum = null; private EditText frameNum = null; private EditText lastMaintain = null; private EditText vehicleRegNum = null; private TextView lastMaintainTime = null; private TextView buyTime = null; private TextView ivInsuranceDate = null; private LinearLayout buttomView = null; private GridView vehicleGridView = null; private CarAdapter carAdapter = null; AlertDialog dlg = null; boolean isJump = false; //false从菜单页跳转过来返回打开菜单,true从首页跳转返回关闭页面 private boolean buttomViewIsShow = false; private int width = 0 ; private TableRow ivCarSeries = null; //车型 private TableRow ivCarType = null; //车款 private TextView tvCarSeries = null; private TextView tvCarType = null; private TextView btSaveVehicleData = null; private TextView btDeleteVehicle = null; private TextView selectCityTv = null; private TextView petrolGradeTv = null; private EditText insuranceTel = null; private EditText maintainTelEd = null; private MyHandler myHandler = null; private DBHelper dBhalper = null; private ProgressDialog myDialog = null; private DBExcute dBExcute = null; private List<String> carSeriesNameList = new ArrayList<String>(); private List<String> carSeriesIdList = new ArrayList<String>(); //保险时间段 String time1 = ""; String time2 = ""; private String carBrankId = ""; private String carSeriesId = ""; private String carTypeId = ""; private static String carSeriesTitle = "carSeries"; private static String carTypeTitle = "carType"; private String carBrank = ""; private String carSeries = ""; private String carType = ""; private CarData oneCarData = null; //存储修改的车辆数据 // private String vehicleId = ""; //存储车牌号 用户更改数据库 private String vehicleNum = ""; private int chickIndex = 0; private CarData newCarImage = null; private Bitmap imageBitmap = null; private SharedPreferences preferences = null; private String city_code = ""; //违章城市相关 private int engine = 0; private int car = 0; private int register = 0; private int engineNo = 0; private int carNo = 0; private int registerNo = 0; private IllegalCity illegalCity; static CharacterParser characterParser; //将汉字转为拼音 static PinyinComparator comparator; //排序 static List<ProvinceModel> illegalList; private TextView myVehicleDevice = null; private String deviceId = null; private String deviceName = null; public static String illegalCityStr = ""; public static boolean hasSelectIllegalCity = false; private String vehNum = ""; //临时存储车牌号 private String petrolResult = ""; private MyBroadCastReceiver myBroadCastReceiver = null; private IntentFilter intentFilter = null; ChoiceCarInformationActivity choiceCarInformationActivity = null; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.my_vehicle, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); horizontalscrollview = (HorizontalScrollView)getActivity().findViewById(R.id.horizontalscrollview); v_divider = (View)getActivity().findViewById(R.id.v_divider); menu = (ImageView)getActivity().findViewById(R.id.my_vechile_menu); editVehicle = (TextView) getActivity().findViewById(R.id.my_vechile_edit); brand = (TableRow) getActivity().findViewById(R.id.iv_my_vehicle_brank); device = (TableRow) getActivity().findViewById(R.id.vehicle_device_layout); selectCity = (TableRow) getActivity().findViewById(R.id.select_city_layout); insuranceCompany = (TableRow)getActivity().findViewById(R.id.insurance_company_layout); showInsuranceCompany = (TextView) getActivity().findViewById(R.id.show_insurance_company); myVehicleBrank = (TextView) getActivity().findViewById(R.id.tv_my_vehicle_beank); choiceMaintian = (TableRow) getActivity().findViewById(R.id.choice_maintain_image_layout); tvMaintain = (TextView) getActivity().findViewById(R.id.show_maintain); vehicleNumber = (EditText)getActivity().findViewById(R.id.my_vehicle_ed_vehicle_number); engineNum = (EditText)getActivity().findViewById(R.id.my_vehicle_ed_engine_num); frameNum = (EditText)getActivity().findViewById(R.id.my_vehilce_ed_fram_num); vehicleRegNum = (EditText) getActivity().findViewById(R.id.my_vehilce_reg_num); lastMaintain = (EditText)getActivity().findViewById(R.id.my_vehicle_ed_last_maintain); lastMaintainTime = (TextView) getActivity().findViewById(R.id.my_vehicle_last_maintain_time); petrolGradeTr = (TableRow) getActivity().findViewById(R.id.my_vehicle_petrol_grade_tr); insuranceTel = (EditText) getActivity().findViewById(R.id.my_vehicle_insurance_company_tel); maintainTelEd = (EditText) getActivity().findViewById(R.id.my_vehicle_maintain_shop_tel); getDateView(lastMaintainTime); buyTime = (TextView)getActivity().findViewById(R.id.my_vehicle_ed_buy_time); selectCityTv = (TextView) getActivity().findViewById(R.id.my_vehicle_select_city); engineNumLayout = (TableRow) getActivity().findViewById(R.id.my_vehicle_engine_num_layout); vehicleNumLayout = (TableRow) getActivity().findViewById(R.id.my_vehicle_num_layout); registerNumLayout = (TableRow) getActivity().findViewById(R.id.my_vehicle_register_num_layout); myVehicleDevice = (TextView) getActivity().findViewById(R.id.my_vehicle_device); petrolGradeTv = (TextView) getActivity().findViewById(R.id.my_vehicle_petrol_grade); getDateView(buyTime); ivInsuranceDate = (TextView) getActivity().findViewById(R.id.my_vehicle_tv_insurance); getDateView(ivInsuranceDate); btSaveVehicleData = (TextView) getActivity().findViewById(R.id.new_vehilce_tv); btDeleteVehicle = (TextView) getActivity().findViewById(R.id.my_vehilce_delete); buttomView = (LinearLayout) getActivity().findViewById(R.id.my_vehicle_buttom_view); vehicleGridView = (GridView) getActivity().findViewById(R.id.gv_my_vehicle); ivCarSeries = (TableRow) getActivity().findViewById(R.id.car_series_layout); ivCarType = (TableRow) getActivity().findViewById(R.id.car_type_layout); tvCarSeries = (TextView) getActivity().findViewById(R.id.tv_car_series); tvCarType = (TextView) getActivity().findViewById(R.id.tv_car_type); ivCarSeries.setOnClickListener(new ClickListener()); ivCarType.setOnClickListener(new ClickListener()); petrolGradeTr.setOnClickListener(new ClickListener()); selectCity.setOnClickListener(new ClickListener()); dBExcute = new DBExcute(); choiceCarInformationActivity = new ChoiceCarInformationActivity(); preferences = getActivity().getSharedPreferences(Constant.sharedPreferencesName, Context.MODE_PRIVATE); chickIndex = preferences.getInt(Constant.DefaultVehicleID, 0); characterParser = new CharacterParser().getInstance(); comparator = new PinyinComparator(); myHandler = new MyHandler(); String jsonData = dBExcute.selectIllegal(getActivity()); if(jsonData == null){ myDialog = ProgressDialog.show(getActivity(), getString(R.string.dialog_title), getString(R.string.dialog_message)); myDialog.setCancelable(true); new Thread(new NetThread.GetDataThread(myHandler, Constant.BaseUrl+"violation/city?cuth_code=" + Variable.auth_code, getIllegalforUrlCode)).start(); }else{ //解析数据 并且更新 illegalList = parseJson(jsonData); Variable.illegalProvinceList = illegalList; } Intent intent = getActivity().getIntent(); isJump = intent.getBooleanExtra("isJump", false); if(isJump){ menu.setImageResource(R.drawable.nav_back); }else{ menu.setImageResource(R.drawable.side_left); } // 注册广播 myBroadCastReceiver = new MyBroadCastReceiver(); intentFilter = new IntentFilter(Constant.updataMyVehicleLogoAction); getActivity().registerReceiver(myBroadCastReceiver, intentFilter); } @Override public void onResume() { super.onResume(); dBhalper = new DBHelper(getActivity()); dBExcute = new DBExcute(); if(Variable.carDatas.size() == 1){ horizontalscrollview.setVisibility(View.GONE); v_divider.setVisibility(View.GONE); }else{ horizontalscrollview.setVisibility(View.VISIBLE); v_divider.setVisibility(View.VISIBLE); } //车辆数据 initGridView(); vehicleGridView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { carBrankId = ""; Log.d(TAG, "onItemClick carBrankId = " + carBrankId); carSeriesId = ""; carBrank = ""; carSeries = ""; carType = ""; oneCarData = Variable.carDatas.get(arg2); Message msg = new Message(); msg.obj = Variable.carDatas.get(arg2); msg.what = showCarData; myHandler.sendMessage(msg); for(int i = 0 ; i < Variable.carDatas.size() ; i++){ Variable.carDatas.get(i).setCheck(false); } Variable.carDatas.get(arg2).setCheck(true); carAdapter.notifyDataSetChanged(); chickIndex = arg2; hasSelectIllegalCity = false; illegalCityStr = ""; } }); //设置默认选择第一辆汽车 for(int i = 0 ; i < Variable.carDatas.size() ; i++){ Variable.carDatas.get(i).setCheck(false); } Variable.carDatas.get(chickIndex).setCheck(true); carAdapter.notifyDataSetChanged(); btSaveVehicleData.setOnClickListener(new ClickListener()); btDeleteVehicle.setOnClickListener(new ClickListener()); choiceMaintian.setOnClickListener(new ClickListener()); device.setOnClickListener(new ClickListener()); menu.setOnClickListener(new ClickListener()); editVehicle.setOnClickListener(new ClickListener()); brand.setOnClickListener(new ClickListener()); insuranceCompany.setOnClickListener(new ClickListener()); width = getActivity().getWindowManager().getDefaultDisplay().getWidth(); final Message msg = new Message(); msg.obj = Variable.carDatas.get(chickIndex); oneCarData = Variable.carDatas.get(chickIndex); msg.what = showCarData; new Thread(new Runnable() { public void run() { while(illegalList == null){ try { Thread.sleep(3); } catch (InterruptedException e) { e.printStackTrace(); } } myHandler.sendMessage(msg); } }).start(); } //点击监听 class ClickListener implements OnClickListener{ public void onClick(View v) { switch(v.getId()){ case R.id.my_vechile_menu: if(CheckDatas()){ commitData(); if(isJump){ getActivity().finish(); }else{ ActivityFactory.A.LeftMenu(); } } break; case R.id.iv_my_vehicle_brank: //选择汽车品牌 Intent intent = new Intent(getActivity(),ChoiceCarInformationActivity.class); intent.putExtra("code", resultCodeBrank); startActivityForResult(intent, resultCodeBrank); break; case R.id.car_series_layout: //选择车型 Log.d(TAG, "car_series_layout carBrankId = " + carBrankId); if("".equals(carBrankId)){ Toast.makeText(getActivity(), "请选择车牌", 0).show(); return; }else{ Intent intent3 = new Intent(getActivity(),ChoiceCarInformationActivity.class); intent3.putExtra("code", resultCodeSeries); intent3.putExtra("brankId", carBrankId); Log.d(TAG, "carBrankId = " + carBrankId); intent3.putExtra("carBrank", carBrank); startActivityForResult(intent3, resultCodeSeries); } break; case R.id.car_type_layout: //选择车款 if("".equals(carSeriesId)){ Toast.makeText(getActivity(), "请选择车型", 0).show(); return; }else{ Intent intent6 = new Intent(getActivity(),ChoiceCarInformationActivity.class); intent6.putExtra("code", resultCodeType); intent6.putExtra("brankId", carBrankId); Log.d(TAG, "carBrankId = " + carBrankId); intent6.putExtra("carBrank", carBrank); intent6.putExtra("seriesId", carSeriesId); intent6.putExtra("series", carSeries); startActivityForResult(intent6, resultCodeType); } break; case R.id.vehicle_device_layout: //我的终端 Toast.makeText(getActivity(), R.string.new_version, Toast.LENGTH_SHORT).show(); // if(Variable.devicesDatas.size() == 0){ // //跳转到购买终端界面 // startActivity(new Intent(getActivity(), OrderDeviceActivity.class)); // }else{ // //跳转到绑定终端界面 // Intent intent2 = new Intent(getActivity(),DevicesActivity.class); // intent2.putExtra("isJump", false); // startActivityForResult(intent2, resultCodeDevice); // } break; case R.id.insurance_company_layout: //选择保险公司 Intent intent1 = new Intent(getActivity(),InsuranceActivity.class); intent1.putExtra("code", resultCodeInsurance); startActivityForResult(intent1, resultCodeInsurance); break; case R.id.choice_maintain_image_layout: //选择保养店 SharedPreferences shareFile = getActivity().getSharedPreferences(Constant.sharedPreferencesName, Context.MODE_PRIVATE); if("".equals(shareFile.getString(Constant.LocationCity, ""))){ Toast.makeText(getActivity(), getResources().getString(R.string.please_choice_city), 0).show(); }else if("".equals(carBrank)){ Toast.makeText(getActivity(), getResources().getString(R.string.please_choice_vehicle_brank), 0).show(); }else{ Intent intent3 = new Intent(getActivity(),MaintainShopActivity.class); intent3.putExtra("code", resultCodeMaintain); intent3.putExtra("brank", carBrank); intent3.putExtra("city", shareFile.getString(Constant.LocationCity, "")); startActivityForResult(intent3, resultCodeMaintain); } break; case R.id.new_vehilce_tv: Intent intents = new Intent(getActivity(),NewVehicleActivity.class); intents.putExtra("code", addCarResultCode); startActivityForResult(intents, addCarResultCode); break; case R.id.my_vehilce_delete: new AlertDialog.Builder(getActivity()).setTitle(getString(R.string.point)).setMessage(getString(R.string.sure_delete_vehicle) + vehicleNum + "?").setPositiveButton(getString(R.string.sure), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { myDialog = ProgressDialog.show(getActivity(), "提示", "正在删除..."); myDialog.setCancelable(true); new Thread(new NetThread.DeleteThread(myHandler, Constant.BaseUrl + "vehicle/" + Variable.carDatas.get(chickIndex).getObj_id() + "?auth_code=" + Variable.auth_code, deleteCarData)).start(); } }).setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }).show(); break; case R.id.my_vechile_edit: if(!buttomViewIsShow){ buttomView.setVisibility(View.VISIBLE); buttomViewIsShow = true; }else if(buttomViewIsShow){ buttomView.setVisibility(View.GONE); buttomViewIsShow = false; } break; case R.id.select_city_layout: hasSelectIllegalCity = true; illegalCityStr = ""; Intent intent6 = new Intent(getActivity(),IllegalCitiyActivity.class); intent6.putExtra("requestCode", getCityViolateRegulationsCode); startActivityForResult(intent6, getCityViolateRegulationsCode); break; case R.id.my_vehicle_petrol_grade_tr: Intent intent9 = new Intent(getActivity(),PetrolGradeActivity.class); intent9.putExtra("code", myVehiclePetrol); startActivityForResult(intent9, myVehiclePetrol); break; default: return; } } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode == this.resultCodeInsurance){ //设置选择的保险公司 String insurance = (String) data.getSerializableExtra("insurance_name"); String insurance_phone = (String) data.getSerializableExtra("insurance_phone"); showInsuranceCompany.setText(data.getStringExtra("insurance_name")); insuranceTel.setText(insurance_phone); //更改静态类 Variable.carDatas.get(chickIndex).setInsurance_tel(insurance_phone); Variable.carDatas.get(chickIndex).setInsurance_company(insurance); } //选择品牌 if(resultCode == this.resultCodeBrank){ carBrank = data.getStringExtra("brank"); carBrankId = data.getStringExtra("brankId"); carSeries = data.getStringExtra("series"); carSeriesId = data.getStringExtra("seriesId"); carType = data.getStringExtra("type"); carTypeId = data.getStringExtra("typeId"); //更改静态类 Variable.carDatas.get(chickIndex).setCar_brand(carBrank); Variable.carDatas.get(chickIndex).setCar_series(carSeries); Variable.carDatas.get(chickIndex).setCar_type(carType); Variable.carDatas.get(chickIndex).setCar_brand_id(carBrankId); Variable.carDatas.get(chickIndex).setCar_series_id(carSeriesId); Variable.carDatas.get(chickIndex).setCar_type_id(carTypeId); } //点击车型返回 if(resultCode == this.resultCodeSeries){ carBrank = data.getStringExtra("brank"); carBrankId = data.getStringExtra("brankId"); Log.d(TAG, "车型返回 carBrankId = " + carBrankId); carSeries = data.getStringExtra("series"); carSeriesId = data.getStringExtra("seriesId"); carType = data.getStringExtra("type"); carTypeId = data.getStringExtra("typeId"); Variable.carDatas.get(chickIndex).setCar_brand(carBrank); Variable.carDatas.get(chickIndex).setCar_series(carSeries); Variable.carDatas.get(chickIndex).setCar_type(carType); Variable.carDatas.get(chickIndex).setCar_brand_id(carBrankId); Variable.carDatas.get(chickIndex).setCar_series_id(carSeriesId); Variable.carDatas.get(chickIndex).setCar_type_id(carTypeId); } if(resultCode == this.resultCodeType){ carBrank = data.getStringExtra("brank"); carBrankId = data.getStringExtra("brankId"); Log.d(TAG, "resultCodeType carBrankId = " + carBrankId); carSeries = data.getStringExtra("series"); carSeriesId = data.getStringExtra("seriesId"); carType = data.getStringExtra("type"); carTypeId = data.getStringExtra("typeId"); Variable.carDatas.get(chickIndex).setCar_brand(carBrank); Variable.carDatas.get(chickIndex).setCar_series(carSeries); Variable.carDatas.get(chickIndex).setCar_type(carType); Variable.carDatas.get(chickIndex).setCar_brand_id(carBrankId); Variable.carDatas.get(chickIndex).setCar_series_id(carSeriesId); Variable.carDatas.get(chickIndex).setCar_type_id(carTypeId); } //选择保养店 if(resultCode == this.resultCodeMaintain){ String maintainName = (String) data.getSerializableExtra("maintain_name"); String maintainTel = (String) data.getSerializableExtra("maintain_phone"); tvMaintain.setText(maintainName); maintainTelEd.setText(maintainTel); //更改静态类 Variable.carDatas.get(chickIndex).setMaintain_company(maintainName); Variable.carDatas.get(chickIndex).setMaintain_tel(maintainTel); } if(resultCode == this.getCityViolateRegulationsCode){ illegalCity = (IllegalCity) data.getSerializableExtra("IllegalCity"); if(illegalCity != null){ engine = Integer.valueOf(illegalCity.getEngine()); engineNo = Integer.valueOf(illegalCity.getEngineno()); car = Integer.valueOf(illegalCity.getVehiclenum()); carNo = Integer.valueOf(illegalCity.getVehiclenumno()); register = Integer.valueOf(illegalCity.getRegist()); registerNo = Integer.valueOf(illegalCity.getRegistno()); city_code = illegalCity.getCityCode(); //城市代码 illegalCityStr = illegalCity.getCityName(); //显示需要的城市名字 Variable.carDatas.get(chickIndex).setVio_location(illegalCity.getCityCode()); } } if(resultCode == resultCodeDevice){ deviceId = data.getStringExtra("DeviceId"); deviceName = data.getStringExtra("Serial"); //更新静态类 Variable.carDatas.get(chickIndex).setSerial(deviceName); myVehicleDevice.setText(deviceName); List<NameValuePair> parms = new ArrayList<NameValuePair>(); parms.add(new BasicNameValuePair("device_id", deviceId)); System.out.println("deviceId = " + deviceId); new Thread(new NetThread.putDataThread(myHandler, Constant.BaseUrl + "vehicle/" + Variable.carDatas.get(chickIndex).obj_id + "/device?auth_code=" + Variable.auth_code, parms, bindDeviceId)).start(); } if(resultCode == myVehiclePetrol){ petrolResult = data.getStringExtra("result"); petrolGradeTv.setText(petrolResult); Variable.carDatas.get(chickIndex).setGas_no(petrolResult); } if(addCarResultCode == resultCode){ carAdapter.refresh(Variable.carDatas); } } class MyHandler extends Handler{ public void handleMessage(Message msg) { super.handleMessage(msg); switch(msg.what){ case showCarData: boolean simple = false; engineNumLayout.setVisibility(View.GONE); vehicleNumLayout.setVisibility(View.GONE); registerNumLayout.setVisibility(View.GONE); engine = 0; engineNo = 0; car = 0; carNo = 0; register = 0; registerNo = 0; CarData carData = (CarData) msg.obj; carBrank = carData.getCar_brand(); carSeries = carData.getCar_series(); // 匹配车辆品牌id、车型id、车款id 用于第一次点击二级项(车型)获取相关数据 carBrankId = carData.getCar_brand_id(); carSeriesId = carData.getCar_series_id(); carTypeId = carData.getCar_type_id(); //判断终端是否绑定 if(carData.getSerial() == null){ myVehicleDevice.setText("未绑定终端"); }else if("" == carData.getSerial()){ myVehicleDevice.setText("未绑定终端"); }else{ myVehicleDevice.setText(carData.getSerial()); } vehicleNum = carData.getObj_name(); if(!"".equals(vehNum)){ vehicleNumber.setText(vehNum); vehNum = ""; }else{ vehicleNumber.setText(carData.getObj_name()); } tvCarSeries.setText(carData.getCar_series()); tvCarType.setText(carData.getCar_type()); myVehicleBrank.setText(carData.getCar_brand()); carBrank = carData.getCar_brand(); //保存默认品牌 用户获取4s店数据 showInsuranceCompany.setText(carData.getInsurance_company()); System.out.println("carData.getInsurance_date() = " + carData.getInsurance_date()); ivInsuranceDate.setText(carData.getInsurance_date().substring(0, 10)); tvMaintain.setText(carData.getMaintain_company()); lastMaintain.setText(carData.getMaintain_last_mileage()); buyTime.setText(carData.getBuy_date()); lastMaintainTime.setText(carData.getMaintain_last_date().substring(0, 10)); petrolGradeTv.setText(carData.getGas_no()); petrolResult = carData.getGas_no(); insuranceTel.setText(carData.getInsurance_tel()); maintainTelEd.setText(carData.getMaintain_tel()); selectCityTv.setText(""); /** * 选择了违章城市 * 1 选择的违章城市与老数据不一致 清空相关项 隐藏相关项 * 2 选择的违章城市与老数据一致 显示老数据 */ if(hasSelectIllegalCity){ if(carData.getVio_city_name().equals(illegalCityStr)){ selectCityTv.setText(carData.getVio_city_name()); for(int i = 0 ; i < illegalList.size() ; i ++){ List<IllegalCity> illegalCityList = illegalList.get(i).getIllegalCityList(); for(int j = 0 ; j < illegalCityList.size() ; j ++){ if(carData.getVio_city_name().equals(illegalCityList.get(j).getCityName())){ engine = Integer.valueOf(illegalCityList.get(j).getEngine()); engineNo = Integer.valueOf(illegalCityList.get(j).getEngineno()); car = Integer.valueOf(illegalCityList.get(j).getVehiclenum()); carNo = Integer.valueOf(illegalCityList.get(j).getVehiclenumno()); register = Integer.valueOf(illegalCityList.get(j).getRegist()); registerNo = Integer.valueOf(illegalCityList.get(j).getRegistno()); } } } }else{ simple = true; selectCityTv.setText(illegalCityStr); for(int i = 0 ; i < illegalList.size() ; i ++){ List<IllegalCity> illegalCityList = illegalList.get(i).getIllegalCityList(); for(int j = 0 ; j < illegalCityList.size() ; j ++){ if(illegalCityStr.equals(illegalCityList.get(j).getCityName())){ engine = Integer.valueOf(illegalCityList.get(j).getEngine()); engineNo = Integer.valueOf(illegalCityList.get(j).getEngineno()); car = Integer.valueOf(illegalCityList.get(j).getVehiclenum()); carNo = Integer.valueOf(illegalCityList.get(j).getVehiclenumno()); register = Integer.valueOf(illegalCityList.get(j).getRegist()); registerNo = Integer.valueOf(illegalCityList.get(j).getRegistno()); } } } } /** * 没有选择城市 */ } if(!hasSelectIllegalCity){ /** * 通过城市名匹配城市需要的相关编号 */ if(!"".equals(carData.getVio_city_name())){ selectCityTv.setText(carData.getVio_city_name()); for(int i = 0 ; i < illegalList.size() ; i ++){ List<IllegalCity> illegalCityList = illegalList.get(i).getIllegalCityList(); for(int j = 0 ; j < illegalCityList.size() ; j ++){ if(carData.getVio_city_name().equals(illegalCityList.get(j).getCityName())){ engine = Integer.valueOf(illegalCityList.get(j).getEngine()); engineNo = Integer.valueOf(illegalCityList.get(j).getEngineno()); car = Integer.valueOf(illegalCityList.get(j).getVehiclenum()); carNo = Integer.valueOf(illegalCityList.get(j).getVehiclenumno()); register = Integer.valueOf(illegalCityList.get(j).getRegist()); registerNo = Integer.valueOf(illegalCityList.get(j).getRegistno()); } } } } } if(engine == 1){ engineNumLayout.setVisibility(View.VISIBLE); if(engineNo == 0){ engineNum.setHint(getActivity().getResources().getString(R.string.all_engine_num_hint)); }else{ engineNum.setHint(getActivity().getResources().getString(R.string.engine_num_hint) + engineNo + getActivity().getResources().getString(R.string.hint_wei)); engineNum.setFilters(new InputFilter[]{new InputFilter.LengthFilter(engineNo)}); } } if(car == 1){ vehicleNumLayout.setVisibility(View.VISIBLE); if(carNo == 0){ frameNum.setHint(getActivity().getResources().getString(R.string.all_vehicle_num_hint)); }else{ frameNum.setHint(getActivity().getResources().getString(R.string.vehicle_num_hint) + carNo + getActivity().getResources().getString(R.string.hint_wei)); frameNum.setFilters(new InputFilter[]{new InputFilter.LengthFilter(carNo)}); } } if(register == 1){ registerNumLayout.setVisibility(View.VISIBLE); if(registerNo == 0){ vehicleRegNum.setHint(getActivity().getResources().getString(R.string.all_register_num_hint)); }else{ vehicleRegNum.setHint(getActivity().getResources().getString(R.string.register_num_hint) + registerNo + getActivity().getResources().getString(R.string.hint_wei)); vehicleRegNum.setFilters(new InputFilter[]{new InputFilter.LengthFilter(registerNo)}); } } if(!simple){ engineNum.setText(carData.getEngine_no()); frameNum.setText(carData.getFrame_no()); vehicleRegNum.setText(carData.getRegNo()); }else{ engineNum.setText(""); frameNum.setText(""); vehicleRegNum.setText(""); } hasSelectIllegalCity = false; city_code = carData.getVio_location(); break; case deleteCarData: JSONObject jsonObject = null; myDialog.dismiss(); try { jsonObject = new JSONObject(msg.obj.toString()); if(Integer.parseInt(jsonObject.getString("status_code")) == 0){ dBExcute.DeleteDB(getActivity(), Constant.TB_Vehicle, "obj_id = ?", new String[]{String.valueOf(Variable.carDatas.get(chickIndex).getObj_id())}); Variable.carDatas.remove(Variable.carDatas.get(chickIndex)); carAdapter.notifyDataSetChanged(); if(Variable.carDatas.size() > 0){ chickIndex = 0; for(int i = 0 ; i < Variable.carDatas.size() ; i++){ Variable.carDatas.get(i).setCheck(false); } Variable.carDatas.get(chickIndex).setCheck(true); // carAdapter.notifyDataSetChanged(); // carAdapter.refresh(Variable.carDatas); Message message = new Message(); message.obj = Variable.carDatas.get(chickIndex); oneCarData = Variable.carDatas.get(chickIndex); message.what = showCarData; myHandler.sendMessage(message); }else{ startActivity(new Intent(getActivity(),NewVehicleActivity.class)); } if(Variable.carDatas.size() == 1){ vehicleGridView.setVisibility(View.GONE); }else{ vehicleGridView.setVisibility(View.VISIBLE); } buttomView.setVisibility(View.GONE); buttomViewIsShow = false; initGridView(); carAdapter.refresh(Variable.carDatas); showToast("删除成功"); } } catch (JSONException e) { e.printStackTrace(); } break; case setCarLogo: carAdapter.notifyDataSetChanged(); break; case getIllegalforUrlCode: // 获取违章城市数据 if(!"".equals(msg.obj.toString())){ illegalList = parseJson(msg.obj.toString()); Variable.illegalProvinceList = illegalList; //插入数据库 ContentValues values = new ContentValues(); values.put("json_data", msg.obj.toString()); dBExcute.InsertDB(getActivity(), values, Constant.TB_IllegalCity); } myDialog.dismiss(); break; case bindDeviceId: //绑定终端成功 更新数据库 ContentValues values1 = new ContentValues(); values1.put("device_id", deviceId); values1.put("serial", deviceName); dBExcute.updataVehilce(getActivity(), Constant.TB_Vehicle, values1, "obj_id=?", new String[]{String.valueOf(Variable.carDatas.get(chickIndex).getObj_id())}); break; case getBrankData: if(!"[]".equals(msg.obj.toString())){ //存到数据库 parseVehicleBrandData(msg.obj.toString(),msg.what); ChoiceCarInformationActivity.insertDatabases(ChoiceCarInformationActivity.carBrankTitle, msg.obj.toString(), getActivity()); } break; case getSeriesData: if(!"[]".equals(msg.obj.toString())){ parseVehicleBrandData(msg.obj.toString(),msg.what); } break; default: return; } } } public Bitmap logoImageIsExist1(final String imagePath,final String name){ File filePath = new File(imagePath); File imageFile = new File(imagePath + name); if(!filePath.exists()){ filePath.mkdir(); } if(imageFile.exists()){ //将图片读取出来 imageBitmap = BitmapFactory.decodeFile(imagePath + name); }else{ new Thread(new Runnable() { public void run() { //服务器获取logo图片 String imageUrl = Constant.ImageUrl + name; imageBitmap = GetSystem.getBitmapFromURL(imageUrl); //存储到SD卡 if(imageBitmap != null){ createImage(imagePath + carBrank + ".jpg",imageBitmap); Message msg = new Message(); msg.what = setCarLogo; myHandler.sendMessage(msg); } } }).start(); } return imageBitmap; } //向SD卡中添加图片 public void createImage(String fileName,Bitmap bitmap){ FileOutputStream b = null; try { b = new FileOutputStream(fileName); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件 } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { b.flush(); b.close(); } catch (IOException e) { e.printStackTrace(); } } } public void getDateView(final TextView textView){ // switch(textView.getId()){ // case R.id.my_vehicle_ed_buy_time: //购车时间 textView.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Calendar c = Calendar.getInstance(); new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) { String tempData = year + "/"+ (monthOfYear + 1) + "/" + dayOfMonth + " 12:3:2"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String data = sdf.format(new Date(tempData)); textView.setText(data); buyTime.setHintTextColor(Color.BLACK); ivInsuranceDate.setHintTextColor(Color.BLACK); lastMaintainTime.setHintTextColor(Color.BLACK); } }, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)).show(); } }); // // break; // case R.id.my_vehicle_tv_insurance: //保险时间段 // textView.setOnClickListener(new View.OnClickListener() { // public void onClick(View v) { // // Calendar c = Calendar.getInstance(); // DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), new DateDialogListener("start"), c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)); // datePickerDialog.setTitle("开始时间"); // datePickerDialog.show(); // } // }); // break; // default: // return; // } } // class DateDialogListener implements OnDateSetListener{ // String DataTypes = ""; // DateDialogListener(String DataTypes){ // this.DataTypes = DataTypes; // } // public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) { // if("start".equals(this.DataTypes)){ // time1 = year + "/"+ (monthOfYear + 1) + "/" + dayOfMonth; // Calendar c = Calendar.getInstance(); // DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), new DateDialogListener("end"), c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)); // datePickerDialog.setTitle("结束时间"); // datePickerDialog.show(); // }else if("end".equals(this.DataTypes)){ // time2 = year + "/"+ (monthOfYear + 1) + "/" + dayOfMonth; // if(time1.equals(time2)){ // showToast("非法的时间段"); // } // if(Integer.valueOf(time1.substring(0, 4)) > Integer.valueOf(time2.substring(0, 4))){ // showToast("非法的时间段"); // return; // }else{ // if(Integer.valueOf(time1.substring(5, 6)) > Integer.valueOf(time2.substring(5, 6))){ // showToast("非法的时间段"); // return; // }else{ // if(Integer.valueOf(time1.substring(7)) > Integer.valueOf(time2.substring(7))){ // showToast("非法的时间段"); // return; // }else{ // ivInsuranceDate.setText(time1+"-"+time2); // } // } // } // } // } // } private static final String TAG = "MyVehicleActivity"; // TODO public void commitData(){ Editor editor = preferences.edit(); editor.putInt(Constant.DefaultVehicleID, chickIndex); editor.putString(Constant.defaultCenter_key, Variable.carDatas.get(chickIndex).getObj_name()); String str = Variable.carDatas.get(chickIndex).getObj_name(); String str2 = str==null?"null":str; editor.commit(); final List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("obj_name", vehicleNumber.getText().toString().trim())); Log.d(TAG, "obj_name = " + vehicleNumber.getText().toString().trim()); params.add(new BasicNameValuePair("car_brand", myVehicleBrank.getText().toString())); Log.d(TAG, "car_brand = " + myVehicleBrank.getText().toString().trim()); params.add(new BasicNameValuePair("car_series", tvCarSeries.getText().toString())); Log.d(TAG, "car_series = " + tvCarSeries.getText().toString().trim()); params.add(new BasicNameValuePair("car_type", tvCarType.getText().toString())); Log.d(TAG, "car_type = " + tvCarType.getText().toString().trim()); params.add(new BasicNameValuePair("vio_location", city_code)); Log.d(TAG, "vio_location = " + city_code); params.add(new BasicNameValuePair("gas_no", petrolResult)); Log.d(TAG, "gas_no = " + petrolResult); params.add(new BasicNameValuePair("car_brand_id", carBrankId)); Log.d(TAG, "carBrankId = " + carBrankId); Log.d(TAG, "car_brand_id = " + carBrankId); params.add(new BasicNameValuePair("car_series_id", carSeriesId)); Log.d(TAG, "car_series_id = " + carSeriesId); params.add(new BasicNameValuePair("car_type_id", carTypeId)); Log.d(TAG, "car_type_id = " + carTypeId); params.add(new BasicNameValuePair("vio_city_name", selectCityTv.getText().toString())); Log.d(TAG, "vio_city_name = " + selectCityTv.getText().toString()); params.add(new BasicNameValuePair("insurance_tel", insuranceTel.getText().toString().trim())); Log.d(TAG, "insurance_tel = " + insuranceTel.getText().toString().trim()); params.add(new BasicNameValuePair("maintain_tel", maintainTelEd.getText().toString().trim())); Log.d(TAG, "maintain_tel = " + maintainTelEd.getText().toString().trim()); //违章查询城市代码 if(engine == 0){ params.add(new BasicNameValuePair("engine_no", "")); Log.d(TAG, "engine_no = " + ""); }else if(engine == 1){ params.add(new BasicNameValuePair("engine_no", engineNum.getText().toString().trim())); Log.d(TAG, "engine_no = " + engineNum.getText().toString().trim()); } if(car == 0){ params.add(new BasicNameValuePair("frame_no", "")); Log.d(TAG, "frame_no = " + ""); }else if(car == 1){ params.add(new BasicNameValuePair("frame_no", frameNum.getText().toString().trim())); Log.d(TAG, "frame_no = " + frameNum.getText().toString().trim()); } if(register == 0){ params.add(new BasicNameValuePair("reg_no", "")); Log.d(TAG, "reg_no = " + ""); }else if(register == 1){ params.add(new BasicNameValuePair("reg_no", vehicleRegNum.getText().toString().trim())); Log.d(TAG, "reg_no = " + vehicleRegNum.getText().toString().trim()); } params.add(new BasicNameValuePair("insurance_company", showInsuranceCompany.getText().toString())); Log.d(TAG, "insurance_company = " + showInsuranceCompany.getText().toString().trim()); params.add(new BasicNameValuePair("insurance_date", ivInsuranceDate.getText().toString())); Log.d(TAG, "insurance_date = " + ivInsuranceDate.getText().toString().trim()); params.add(new BasicNameValuePair("annual_inspect_data", "")); //暂时去掉 params.add(new BasicNameValuePair("maintain_company", tvMaintain.getText().toString())); Log.d(TAG, "maintain_company = " + tvMaintain.getText().toString().trim()); params.add(new BasicNameValuePair("maintain_last_mileage", lastMaintain.getText().toString().trim())); Log.d(TAG, "maintain_last_mileage = " + lastMaintain.getText().toString().trim()); params.add(new BasicNameValuePair("maintain_last_date", lastMaintainTime.getText().toString())); Log.d(TAG, "maintain_last_date = " + lastMaintainTime.getText().toString().trim()); params.add(new BasicNameValuePair("maintain_next_mileage", "2013")); //暂时去掉 params.add(new BasicNameValuePair("buy_date", buyTime.getText().toString().trim())); Log.d(TAG, "buy_time = " + buyTime.getText().toString().trim()); new Thread(new Runnable() { public void run() { try { BasicHttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, 10000); HttpConnectionParams.setSoTimeout(httpParams, 10000); HttpClient client = new DefaultHttpClient(httpParams); HttpPut httpPut = new HttpPut(Constant.BaseUrl + "vehicle/" + Variable.carDatas.get(chickIndex).getObj_id() + "?auth_code=" + Variable.auth_code); if(params != null){ httpPut.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); } HttpResponse response = client.execute(httpPut); if(response.getStatusLine().getStatusCode() == 200){ HttpEntity entity = response.getEntity(); BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent())); StringBuilder sb = new StringBuilder(); String line = ""; while ((line = reader.readLine()) != null) { sb.append(line); } String strResult = sb.toString(); //更新数据库 ContentValues values = new ContentValues(); values.put("obj_name", vehicleNumber.getText().toString().trim()); values.put("car_brand", myVehicleBrank.getText().toString()); values.put("car_series", tvCarSeries.getText().toString()); values.put("car_type", tvCarType.getText().toString()); values.put("vio_location",city_code); values.put("engine_no", engineNum.getText().toString().trim()); values.put("frame_no", frameNum.getText().toString().trim()); values.put("reg_no", vehicleRegNum.getText().toString().trim()); values.put("insurance_company",showInsuranceCompany.getText().toString()); values.put("insurance_date", ivInsuranceDate.getText().toString()); // value.put("annual_inspect_date", annualSurveyTime.getText().toString()); values.put("maintain_company", tvMaintain.getText().toString()); values.put("maintain_last_mileage", lastMaintain.getText().toString().trim()); values.put("maintain_last_date", lastMaintainTime.getText().toString()); // value.put("maintain_next_mileage", nextMaintainMileage.getText().toString().trim()); values.put("maintain_next_mileage", ""); values.put("car_brand_id", carBrankId); Log.d(TAG, "carBrankId = " + carBrankId); values.put("car_series_id", carSeriesId); values.put("car_type_id", carTypeId); values.put("vio_city_name", selectCityTv.getText().toString()); values.put("insurance_tel", insuranceTel.getText().toString().trim()); values.put("maintain_tel", maintainTelEd.getText().toString().trim()); values.put("buy_date", buyTime.getText().toString()); values.put("gas_no", petrolResult); dBExcute.updataVehilce(getActivity(), Constant.TB_Vehicle, values, "obj_id=?", new String[]{String.valueOf(Variable.carDatas.get(chickIndex).getObj_id())}); //更改静态类 Variable.carDatas.get(chickIndex).setObj_name(vehicleNumber.getText().toString().trim()); Variable.carDatas.get(chickIndex).setCar_brand(myVehicleBrank.getText().toString()); Variable.carDatas.get(chickIndex).setCar_series(tvCarSeries.getText().toString()); Variable.carDatas.get(chickIndex).setCar_type(tvCarType.getText().toString()); Variable.carDatas.get(chickIndex).setVio_location(city_code); Variable.carDatas.get(chickIndex).setEngine_no(engineNum.getText().toString().trim()); Variable.carDatas.get(chickIndex).setFrame_no(frameNum.getText().toString().trim()); Variable.carDatas.get(chickIndex).setRegNo(vehicleRegNum.getText().toString().trim()); Variable.carDatas.get(chickIndex).setInsurance_company(showInsuranceCompany.getText().toString()); Variable.carDatas.get(chickIndex).setInsurance_date(ivInsuranceDate.getText().toString()); Variable.carDatas.get(chickIndex).setMaintain_company(tvMaintain.getText().toString()); Variable.carDatas.get(chickIndex).setMaintain_last_mileage(lastMaintain.getText().toString().trim()); Variable.carDatas.get(chickIndex).setMaintain_last_date(lastMaintainTime.getText().toString()); Variable.carDatas.get(chickIndex).setBuy_date( buyTime.getText().toString()); Variable.carDatas.get(chickIndex).setCar_brand_id(carBrankId); Log.d(TAG, "carBrankId = " + carBrankId); Variable.carDatas.get(chickIndex).setCar_series_id(carSeriesId); Variable.carDatas.get(chickIndex).setCar_type_id(carTypeId); Variable.carDatas.get(chickIndex).setVio_city_name(selectCityTv.getText().toString()); Variable.carDatas.get(chickIndex).setInsurance_tel(insuranceTel.getText().toString().trim()); Variable.carDatas.get(chickIndex).setMaintain_tel(maintainTelEd.getText().toString().trim()); Variable.carDatas.get(chickIndex).setGas_no(petrolResult); Intent intent = new Intent(Constant.A_UpdateCar); getActivity().sendBroadcast(intent); }else{ } } catch (Exception e) { e.printStackTrace(); } } }).start(); } public void showToast(String showContent){ Toast.makeText(getActivity(), showContent, 0).show(); } //获取省份 TODO public static List<ProvinceModel> parseJson(String jsonData){ illegalList = new ArrayList<ProvinceModel>(); try { JSONObject jsonObj = new JSONObject(jsonData); JSONObject result = jsonObj.getJSONObject("result"); Iterator it = result.keys(); while(it.hasNext()){ List<IllegalCity> illegalCityList = new ArrayList<IllegalCity>(); ProvinceModel provinceModel = new ProvinceModel(); String key = it.next().toString(); JSONObject jsonObject = result.getJSONObject(key); String province = jsonObject.getString("province"); //省份 JSONArray jsonArray = jsonObject.getJSONArray("citys"); //城市 for(int i = 0 ; i < jsonArray.length() ; i ++){ IllegalCity illegalCity = new IllegalCity(); JSONObject jsonObject3 = jsonArray.getJSONObject(i); illegalCity.setAbbr(jsonObject3.getString("abbr")); illegalCity.setCityCode(jsonObject3.getString("city_code")); illegalCity.setCityName(jsonObject3.getString("city_name")); illegalCity.setClassa(jsonObject3.getString("classa")); illegalCity.setEngine(jsonObject3.getString("engine")); illegalCity.setEngineno(jsonObject3.getString("engineno")); illegalCity.setRegist(jsonObject3.getString("regist")); illegalCity.setRegistno(jsonObject3.getString("registno")); illegalCity.setVehiclenum(jsonObject3.getString("class")); illegalCity.setVehiclenumno(jsonObject3.getString("classno")); illegalCityList.add(illegalCity); } provinceModel.setIllegalCityList(illegalCityList); provinceModel.setProvinceName(province); illegalList.add(provinceModel); } } catch (JSONException e) { e.printStackTrace(); } return filledData(illegalList); } //将省份汉字转为拼音 private static List<ProvinceModel> filledData(List<ProvinceModel> provinceModelList){ for(int i=0; i<provinceModelList.size(); i++){ ProvinceModel sortModel = provinceModelList.get(i); //汉字转换成拼音 String pinyin = characterParser.getSelling(provinceModelList.get(i).getProvinceName()); String sortString = pinyin.substring(0, 1).toUpperCase(); sortModel.setProvinceLetter(sortString.toUpperCase()); //设置拼音 } Collections.sort(provinceModelList, comparator); return provinceModelList; } //根据拼音首字母排序 class PinyinComparator implements Comparator<ProvinceModel> { public int compare(ProvinceModel o1, ProvinceModel o2) { if (o1.getProvinceLetter().equals("@") || o2.getProvinceLetter().equals("#")) { return -1; } else if (o1.getProvinceLetter().equals("#") || o2.getProvinceLetter().equals("@")) { return 1; } else { return o1.getProvinceLetter().compareTo(o2.getProvinceLetter()); } } } //校验输入内容的合法性 public boolean CheckDatas(){ Log.e(TAG,"engine == " + engine); Log.e(TAG,"engineNo == " + engineNo); Log.e(TAG,"car == " + car); Log.e(TAG,"carNo == " + carNo); Log.e(TAG,"register == " + register); Log.e(TAG,"registerNo == " + registerNo); if(engine == 1){ if(engineNo == 0){ // 填写全部 if(engineNum.getText().toString().trim().length() == engineNo){ engineNum.setError("引擎号不合法"); return false; } }else if(engineNum.getText().toString().trim().length() != engineNo){ engineNum.setError("引擎号不合法"); return false; } } if(car == 1){ if(carNo == 0){ if(frameNum.getText().toString().trim().length() == carNo){ frameNum.setError("车架号不合法"); return false; } }else if(frameNum.getText().toString().trim().length() != carNo){ frameNum.setError("车架号不合法"); return false; } } if(register == 1){ if(registerNo == 0){ if(frameNum.getText().toString().trim().length() == registerNo){ frameNum.setError("登记证号不合法"); return false; } }else if(frameNum.getText().toString().trim().length() != registerNo){ frameNum.setError("登记证号不合法"); return false; } } if("".equals(vehicleNumber.getText().toString().trim())){ vehicleNumber.setError("车牌号不合法"); return false; }else if(equals(vehicleNumber.getText().toString().trim().length() != 7)){ vehicleNumber.setError("车牌号不合法"); return false; } if("".equals(lastMaintain.getText().toString().trim())){ lastMaintain.setError("最后保养里程不合法"); return false; } if("".equals(lastMaintainTime.getText().toString())){ lastMaintainTime.setHintTextColor(Color.RED); return false; } if("".equals(ivInsuranceDate.getText().toString())){ ivInsuranceDate.setHintTextColor(Color.RED); return false; } if("".equals(buyTime.getText().toString())){ buyTime.setHintTextColor(Color.RED); return false; } return true; } @Override public void onPause() { super.onPause(); buttomView.setVisibility(View.GONE); buttomViewIsShow = false; vehNum = vehicleNumber.getText().toString(); } @Override public void onDestroy() { super.onDestroy(); getActivity().unregisterReceiver(myBroadCastReceiver); } public void getVehiclebrandData(String whereValue,String table,String url,int what){ String result = null; DBHelper helper = new DBHelper(getActivity()); SQLiteDatabase reader = helper.getReadableDatabase(); Cursor cursor = reader.rawQuery("select * from " + table + " where Title = ?", new String[]{whereValue}); if(cursor.moveToFirst()){ parseVehicleBrandData(cursor.getString(cursor.getColumnIndex("Content")),what); }else{ new Thread(new NetThread.GetDataThread(myHandler, url, what)).start(); } cursor.close(); reader.close(); } public void parseVehicleBrandData(String str,int what){ JSONArray jsonary = null; try { if(what == getBrankData){ jsonary = new JSONArray(str.substring(0,str.length())); for(int i = 0 ; i < jsonary.length() ; i ++){ if(carBrank.equals(jsonary.getJSONObject(i).get("name"))){ carBrankId = jsonary.getJSONObject(i).get("id") + ""; Log.d(TAG, "getBrankData carBrankId = " + carBrankId); getVehiclebrandData(ChoiceCarInformationActivity.carSeriesTitle,Constant.TB_Base,Constant.BaseUrl + "base/car_series?pid=" + carBrankId , getSeriesData); } } } if(getSeriesData == what){ jsonary = new JSONArray(str.substring(0,str.length())); for(int i = 0 ; i < jsonary.length() ; i ++){ if(carSeries.equals(jsonary.getJSONObject(i).get("show_name"))){ carSeriesId = jsonary.getJSONObject(i).get("id")+""; } } } } catch (JSONException e) { e.printStackTrace(); } } public void initGridView(){ int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, Constant.ImageWidth, getResources().getDisplayMetrics()); LayoutParams params = new LayoutParams((Variable.carDatas.size() * (px + 10) + 10),LayoutParams.WRAP_CONTENT); Log.e(TAG,"宽度 = " + Variable.carDatas.size() * (px + 10) + 10); Log.e(TAG,"集合长度 = " + Variable.carDatas.size()); //汽车品牌Logo carAdapter = new CarAdapter(getActivity(),Variable.carDatas); vehicleGridView.setAdapter(carAdapter); vehicleGridView.setLayoutParams(params); vehicleGridView.setColumnWidth(px); vehicleGridView.setHorizontalSpacing(10); vehicleGridView.setStretchMode(GridView.NO_STRETCH); vehicleGridView.setNumColumns(Variable.carDatas.size()); carAdapter.notifyDataSetChanged(); } class MyBroadCastReceiver extends BroadcastReceiver{ public void onReceive(Context context, Intent intent) { if(carAdapter != null){ carAdapter.notifyDataSetChanged(); } } } }