package com.jiuqi.njt.widget; import java.lang.reflect.UndeclaredThrowableException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.annotation.SuppressLint; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewStub; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.KindsOfCarBean; import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectNewsKey; import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectNewsParam; import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectPoiKey; import com.jiuqi.mobile.nigo.comeclose.manager.base.IKindsOfCarManager; import com.jiuqi.mobile.nigo.comeclose.manager.base.SelectAllCarKey; import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectRepairsFileKey; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.data.Optdb_interfce; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.model.ModuleType; import com.jiuqi.njt.son.MyState; import com.jiuqi.njt.ui.AbstractNjtActivity01; import com.jiuqi.njt.ui.PoiSearchResultActivity; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; import com.jqyd.android.module.lbs.util.CheckState_interface; /** * 查询筛选功能 * 根据页面的ModuleType提供不同的筛选并将结果返回 * @author * */ @SuppressLint("NewApi") public class QueryContionActivity extends AbstractNjtActivity01 implements OnClickListener { private String tag = this.getClass().getName(); protected AdminAreaBean xzqh; private ModuleType moduleType; private Button address; // 地址 private TextView btnPrice; // 价格 private TextView btnMachineCategory; // 农机类别 private TextView btnCropCategory; // 作物类别 private TextView btnGoodsCategory; // 商品种类 private TextView btnDistance; // 距离范围 private TextView btnJiJudl; // 机具大类 private TextView btnJiJuxl; // 机具小类 private TextView btnJiJupm; // 机具品目 private TextView btnPxfs; // 排序方式 private TextView btnSsfw; // 搜素范围 private TextView btnClzt; // 处理状态 private TextView btnDalx;// 档案类型 private LinearLayout priceLayout,PriceLayoutNew; // 地址 private LinearLayout dalxLayout; private LinearLayout clztLayout; private LinearLayout pxfsLayout; private LinearLayout ssfwLayout; private View addressLayout; private LinearLayout machineCategoryLayout; private LinearLayout cropCategoryLayout; private LinearLayout goodsCategoryLayout; private LinearLayout jijudlLayout; private LinearLayout jijuxlLayout; private LinearLayout jijupmLayout; private LinearLayout distanceLayout; private EditText EtPriceNew; private SelectNewsKey key = new SelectNewsKey(Constants.PAGE_SIZE); private int infoType; private long machineType; // 农机类别 private Integer cropType; // 作物类别 private Integer goodsType; // 商品类别 private int distanceType; // 距离类别 // 新添加的 private long jijuBigType;// 机具大类 private long jijuSmallType;// 机具小类 private long jijuKindsType;// 机具品目 private String[] strArrayJJdl;// 机具大类名字 private String[] strArrayJJxl;// 机具小类名字 private String[] strArrayJJpm;// 机具品目名字 private Optdb_interfce database; private ArrayList<KindsOfCarBean> dlList1 = new ArrayList<KindsOfCarBean>(); // 农机大类 private ArrayList<KindsOfCarBean> xlList1 = new ArrayList<KindsOfCarBean>(); // 农机小类 private ArrayList<KindsOfCarBean> pmList1 = new ArrayList<KindsOfCarBean>(); // 农机品目 private GetCarTypeTaskNew getCarTypeTaskNew; private List<String> dlStrList; private List<String> xlStrList; private List<String> pmStrList; private KindsOfCarBean[] maps1; private SelectAllCarKey keyBTYL; // 新添加的 private int jiju ; private Double minPrice = null;// 空值代表查全部 private Double maxPrice = null;// 空值代表查全部 private Long code = null; // 省市县CODE,空值代表查全部 private KindsOfCarBean[] MACHINE_TYPE_DictionaryBeans; // 农机类别 private DataDictionaryBean[] CROP_TYPE_dataDictionaryBeans; // 作物类别 private DataDictionaryBean[] goodsTypeDictionaryBeans; // 商品类别 private String[] strArrayGoodsType; // 农机类别名称 private String[] strArrayCrop; // 作物类别名称 private String[] strArrayMachine; // 商品类别名称 private String[] strArrayDistance; // 距离范围 private ClickType type; // 筛选条件标示 private int idxRange = 0; // 搜索范围下标 private int idxSortType = 0;// 排序方式下标 private String dealStatus = "-1"; // 处理状态 全部、已处理、未处理 -1、1、0 private String fileType = "2"; // 档案类型 报修档案、维修档案 1、2 private OptsharepreInterface sharePre; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } protected void doinit() { // TODO Auto-generated method stub initParam(); initWidgets(); initListeners(); initUI(); } protected void initParam() { // TODO Auto-generated method stub sharePre = new OptsharepreInterface(QueryContionActivity.this); Intent in = getIntent(); xzqh = (AdminAreaBean) in.getSerializableExtra(Constants.PARAM_XZQH); moduleType = (ModuleType) in.getSerializableExtra("ModuleType"); } protected void initWidgets() { // TODO Auto-generated method stub setContentView(R.layout.activity_query_contion); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, UIUtil.convertModuleTypeToString(moduleType) + "-筛选", new OnClickListener() { @Override public void onClick(View v) { QueryContionActivity.this.finish(); } }, "确定", new OnClickListener() { @SuppressLint("NewApi") @Override public void onClick(View v) { //zyg确定按钮 sendData(); } }); address = (Button) findViewById(R.id.address); btnPrice = (TextView) findViewById(R.id.btnPrice); EtPriceNew = (EditText) findViewById(R.id.etPriceNew); btnMachineCategory = (TextView) findViewById(R.id.btnMachineCategory); btnCropCategory = (TextView) findViewById(R.id.btnCropCategory); btnGoodsCategory = (TextView) findViewById(R.id.btnGoodsCategory); btnDistance = (TextView) findViewById(R.id.btnDistance); btnJiJudl = (TextView) findViewById(R.id.jijudl); btnJiJuxl = (TextView) findViewById(R.id.jijuxl); btnJiJupm = (TextView) findViewById(R.id.jijupm); btnPxfs = (TextView) findViewById(R.id.btnPxfs); btnSsfw = (TextView) findViewById(R.id.btnSsfw); btnDalx = (TextView) findViewById(R.id.btnDalx); btnClzt = (TextView) findViewById(R.id.btnClzt); addressLayout = findViewById(R.id.addressLayout); priceLayout = (LinearLayout)findViewById(R.id.PriceLayout); PriceLayoutNew = (LinearLayout) findViewById(R.id.PriceLayoutNew); machineCategoryLayout = (LinearLayout)findViewById(R.id.MachineCategoryLayout); cropCategoryLayout = (LinearLayout)findViewById(R.id.CropCategoryLayout); goodsCategoryLayout =(LinearLayout) findViewById(R.id.GoodsCategoryLayout); distanceLayout = (LinearLayout)findViewById(R.id.distanceLayout); pxfsLayout = (LinearLayout)findViewById(R.id.pxfsLayout); ssfwLayout = (LinearLayout)findViewById(R.id.ssfwLayout); dalxLayout = (LinearLayout)findViewById(R.id.dalxLayout); clztLayout = (LinearLayout)findViewById(R.id.clztLayout); jijudlLayout = (LinearLayout)findViewById(R.id.jijudlLayout); jijuxlLayout = (LinearLayout)findViewById(R.id.jijuxlLayout); jijupmLayout = (LinearLayout)findViewById(R.id.jijupmLayout); // 根据类型控制筛选条件显示和隐藏 switch (moduleType) { case nyjnj: initQuery(); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.VISIBLE); break; case npcnj: initQuery(); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.VISIBLE); break; case jsxx://机收信息查询 initQuery(); PriceLayoutNew.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); break; case jgxx: initQuery(); PriceLayoutNew.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); break; case jbxx: initQuery(); PriceLayoutNew.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); break; case ssxx: initQuery(); PriceLayoutNew.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); break; case jghtxxcx: initQuery(); PriceLayoutNew.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); break; case khxxcx: initQuery(); PriceLayoutNew.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); break; case zbxxcx://植保信息查询 initQuery(); PriceLayoutNew.setVisibility(View.VISIBLE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.VISIBLE); break; case gyxx: initQuery(); priceLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.GONE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.VISIBLE); break; case qxxx: initQuery(); priceLayout.setVisibility(View.GONE); cropCategoryLayout.setVisibility(View.GONE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.VISIBLE); break; case btyl: initParamBTYL(); cropCategoryLayout.setVisibility(View.GONE); priceLayout.setVisibility(View.GONE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); distanceLayout.setVisibility(View.GONE); jijudlLayout.setVisibility(View.VISIBLE); jijuxlLayout.setVisibility(View.VISIBLE); jijupmLayout.setVisibility(View.VISIBLE); break; case wxd: // pxfsLayout.setVisibility(View.VISIBLE); // ssfwLayout.setVisibility(View.VISIBLE); break; case wxgl: addressLayout.setVisibility(View.GONE); dalxLayout.setVisibility(View.VISIBLE); clztLayout.setVisibility(View.VISIBLE); break; case jstg: break; case zlts: break; case syjd: break; case aqjl: break; case pxjg: break; case njjx: break; case wxjg: break; case njj: break; case jyz: break; case jxs: break; case hzs: break; default: cropCategoryLayout.setVisibility(View.GONE); priceLayout.setVisibility(View.GONE); machineCategoryLayout.setVisibility(View.GONE); goodsCategoryLayout.setVisibility(View.GONE); distanceLayout.setVisibility(View.GONE); jijudlLayout.setVisibility(View.GONE); jijuxlLayout.setVisibility(View.GONE); jijupmLayout.setVisibility(View.GONE); break; } } protected void sendData() { // TODO Auto-generated method stub // mark code name // 10101 1 拟引进 // 10101 2 拟派出 // 10401 1 机播信息 // 10401 2 机收信息 // 10401 3 机耕信息 // 10301 1 供应信息 // 10301 2 求需信息 if (null != xzqh) { code = xzqh.getCode(); if("全国".equals(xzqh.getFullName())){ code = null; } } else { if (!TextUtils.isEmpty(application.getProvinceCode())) { code = Long.parseLong(application.getProvinceCode()); } } switch (moduleType) { case nyjnj: infoType = 1; key.setCarTaskNewsParams(infoType, machineType, cropType, minPrice, maxPrice, code); break; case npcnj: infoType = 2; key.setCarTaskNewsParams(infoType, machineType, cropType, minPrice, maxPrice, code); break; case jsxx://机收信息查询 infoType = 2; // key.setWorkTaskNewsParams(infoType, cropType, 0.0, Double.parseDouble(EtPriceNew.getText().toString():null), // code); key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())), code); break; case jgxx: infoType = 3; // key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice, // code); key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())), code); break; case jbxx: infoType = 1; // key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice, // code); key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())), code); Log.e(tag, "省市县 "+code); break; case ssxx: infoType = 4; // key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice, // code); key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())), code); Log.e(tag, "省市县 "+code); break; case jghtxxcx: infoType = 5; // key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice, // code); key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())), code); Log.e(tag, "省市县 "+code); break; case khxxcx: infoType = 6; // key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice, // code); key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())), code); Log.e(tag, "省市县 "+code); break; case zbxxcx://植保信息查询 infoType = 7; // key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice, // code); key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())), code); Log.e(tag, "省市县 "+code); break; case gyxx: infoType = 1; key.setSupplyAndDemandTaskNewsParams(infoType, goodsType, null, code); break; case qxxx: infoType = 2; key.setSupplyAndDemandTaskNewsParams(infoType, goodsType, null, code); break; case btyl: if (jijuKindsType == 0) { if (null != dlList1) { long dlcode = dlList1.get(0).getCode(); long xlcode = xlList1.get(0).getCode(); long pmcode = pmList1.get(0).getCode(); if (pmcode == 0) { if (xlcode == 0) { pmcode = dlcode; } else { pmcode = xlcode; } } else { jijuKindsType = pmcode;//410000000000 1020010000000000 1020060000000000 } } } keyBTYL = new SelectAllCarKey(); if(null==code){ keyBTYL.setAreaCode(0); }else{ //z keyBTYL.setAreaCode(code); } keyBTYL.setCarCode(jijuKindsType); keyBTYL.setStartIndex(0); keyBTYL.setSize(Constants.PAGE_SIZE); break; case wxd: SelectPoiKey key = new SelectPoiKey(); key.setSize(Constants.PAGE_SIZE);// 每页记录数 key.setLatitude(application.getLat()); key.setLongitude(application.getLon()); key.setRange_kilometer(Constants.poiRangeValues[idxRange]); // key.setUserType(UIUtil.getUserTypes()[idxPoiType]); // key.setRoleCodes(new int[] { // UIUtil.getRoleCodes()[idxPoiType] }); key.setPoiSortType(PoiSearchResultActivity.poiSortTypeValues[idxSortType]); key.setStartIndex(0); Intent data = new Intent(); data.putExtra("SelectPoiKey", key); data.putExtra(Constants.PARAM_XZQH, xzqh); setResult(RESULT_OK, data); finish(); return; case wxgl: SelectRepairsFileKey selectRepairsFileKey = new SelectRepairsFileKey(); selectRepairsFileKey.setSize(Constants.PAGE_SIZE);// 每页记录数 selectRepairsFileKey.setStartIndex(0); selectRepairsFileKey.setRoleCode(Integer.parseInt(sharePre .getPres("role"))); selectRepairsFileKey .setSelfMobile(sharePre.getPres("mobileNumber")); selectRepairsFileKey.setRepairManMobile(sharePre .getPres("mobileNumber")); selectRepairsFileKey.setRepairGuid(sharePre.getPres("guid")); selectRepairsFileKey.setFileType(fileType); selectRepairsFileKey.setDealStatus(dealStatus); Intent data1 = new Intent(); data1.putExtra("SelectRepairsFileKey", selectRepairsFileKey); data1.putExtra("dealStatus", dealStatus); setResult(RESULT_OK, data1); finish(); return; default: break; } // SelectNewsParam paramK = new SelectNewsParam("distance"); // paramK.setRange_kilometer((distanceType + 1) * 10); // paramK.setLatitude(application.getLat()); // paramK.setLongitude(application.getLon()); // key.addParams(paramK); Intent data = new Intent(); data.putExtra(Constants.PARAM_XZQH, xzqh); if (moduleType == ModuleType.btyl) { data.putExtra("key", keyBTYL); } else { data.putExtra("key", key); } setResult(RESULT_OK, data); finish(); } protected void initListeners() { // TODO Auto-generated method stub // address.setOnClickListener(this); // btnPrice.setOnClickListener(this); // cropCategoryLayout.setOnClickListener(this); // btnMachineCategory.setOnClickListener(this); // btnGoodsCategory.setOnClickListener(this); // btnJiJudl.setOnClickListener(this); // btnJiJuxl.setOnClickListener(this); // btnJiJupm.setOnClickListener(this); // btnDistance.setOnClickListener(this); // btnPxfs.setOnClickListener(this); // btnSsfw.setOnClickListener(this); // btnDalx.setOnClickListener(this); // btnClzt.setOnClickListener(this); address.setOnClickListener(this);//android:hint="所在地" priceLayout.setOnClickListener(this);//android:text="价格范围" cropCategoryLayout.setOnClickListener(this);// android:text="作物类别" machineCategoryLayout.setOnClickListener(this);//android:text="农机类别" goodsCategoryLayout.setOnClickListener(this);//android:text="商品类别" jijudlLayout.setOnClickListener(this);//android:text="机具大类" jijuxlLayout.setOnClickListener(this);//android:text="机具小类" jijupmLayout.setOnClickListener(this);//android:text="机具品目" distanceLayout.setOnClickListener(this);//android:text="距离范围" pxfsLayout.setOnClickListener(this);//android:text="排序方式" ssfwLayout.setOnClickListener(this); //android:text="搜索范围" dalxLayout.setOnClickListener(this);//android:text="档案类型" clztLayout.setOnClickListener(this);//android:text="处理状态" } protected void initUI() { // TODO Auto-generated method stub if (null != xzqh && !TextUtils.isEmpty(xzqh.getFullName())) { address.setText(xzqh.getFullName()); } else { address.setText(application.getProvince()); } } @Override protected void onQueryComplete(HashMap<Integer, DataDictionaryBean[]> result) { // TODO Auto-generated method stub CROP_TYPE_dataDictionaryBeans = result.get(CROP_TYPE_MARK); goodsTypeDictionaryBeans = result.get(GOODS_TYPE_MARK); MACHINE_TYPE_DictionaryBeans = MACHINE_TYPE_DictionaryNewBeans; strArrayGoodsType = getNames(goodsTypeDictionaryBeans); strArrayCrop = getNames(result.get(CROP_TYPE_MARK)); strArrayMachine = getNamesNew(MACHINE_TYPE_DictionaryBeans); strArrayDistance = getNamesDistance(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (requestCode == Constants.REQUEST_XZQH_CODE) { if (resultCode == RESULT_OK) { AdminAreaBean xzqh = (AdminAreaBean) data .getSerializableExtra(Constants.PARAM_XZQH); this.xzqh = xzqh; if (null != xzqh && !TextUtils.isEmpty(xzqh.getFullName())) { address.setText(xzqh.getFullName()); } } } } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case (R.id.address): if (moduleType.equals(moduleType.zbjs)) { UIUtil.requestXzqh(QueryContionActivity.this, null,3); }else { UIUtil.requestXzqh(QueryContionActivity.this, xzqh,5); } break; case (R.id.PriceLayout): doPopWindow(btnPrice, AbstractNjtActivity01.strArrayContent_Price, "价格范围"); type = ClickType.价格范围; break; case (R.id.MachineCategoryLayout): doPopWindow(btnMachineCategory, strArrayMachine, "农机类别"); type = ClickType.农机类别; break; case (R.id.CropCategoryLayout): doPopWindow(btnCropCategory, strArrayCrop, "作物类型"); type = ClickType.作物类型; break; case (R.id.GoodsCategoryLayout): doPopWindow(btnGoodsCategory, strArrayGoodsType, "商品类别"); type = ClickType.商品类别; break; case (R.id.distanceLayout): doPopWindow(btnDistance, strArrayDistance, "距离范围"); type = ClickType.距离范围; break; case (R.id.jijudlLayout): doPopWindow(btnJiJudl, strArrayJJdl, "机具大类"); type = ClickType.机具大类; break; case (R.id.jijuxlLayout): doPopWindow(btnJiJuxl, strArrayJJxl, "机具小类"); type = ClickType.机具小类; break; case (R.id.jijupmLayout): doPopWindow(btnJiJupm, strArrayJJpm, "机具品目"); type = ClickType.机具品目; break; case (R.id.pxfsLayout): type = ClickType.排序方式; doPopWindow(btnPxfs, Constants.strPoiSortType, "" + type); break; case (R.id.ssfwLayout): type = ClickType.搜索范围; doPopWindow(btnSsfw, Constants.strPoiRange, "" + type); break; case (R.id.dalxLayout): type = ClickType.档案类型; doPopWindow(btnDalx, Constants.strFileType, "" + type); break; case (R.id.clztLayout): type = ClickType.处理状态; doPopWindow(btnClzt, Constants.strDealStatus, "" + type); break; default: break; } } enum ClickType { 价格范围, 农机类别, 作物类型, 商品类别, 距离范围, 机具大类, 机具小类, 机具品目, 排序方式, 搜索范围, 档案类型, 处理状态 } /** * 弹出筛选条件 * * @param items * 筛选内容 * @param btnDistance2 * 返回筛选结果 * @param title * 弹出框标题 */ private void doPopWindow(final TextView btnDistance2, final String[] items, String title) { //在dialog中添加 ListView控件显示出items DialogWithList.Builder dialog = null; dialog = new DialogWithList.Builder(this); dialog.setTitle(title); dialog.setPositiveButton(Constants.CANCEL_TEXT, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.dismiss(); } }); dialog.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub btnDistance2.setText(items[which]); switch (type) { case 价格范围: maxPrice = numArrayContent_price[which]; break; case 农机类别: machineType = MACHINE_TYPE_DictionaryBeans[which] .getCode(); break; case 作物类型: cropType = CROP_TYPE_dataDictionaryBeans[which] .getCode(); break; case 商品类别: goodsType = goodsTypeDictionaryBeans[which] .getCode(); break; case 距离范围: distanceType = which; break; case 机具大类: xlList1 = database.getSmallKindsOfCarBeanInfo( MyState.CAR_SMALL_TYPE_MARK + "", dlList1 .get(which).getBigClassName()); if (xlList1.size() != 0) { pmList1 = database .getSmallKindsOfCarBeanPMInfo( MyState.CAR_TYPE_MARK + "", xlList1.get(0) .getSmallClassName()); } dlStrList = getNames(dlList1);// 获取大类的名字 xlStrList = getNames(xlList1); pmStrList = getNames(pmList1); GetSzFromList(dlStrList, xlStrList, pmStrList); btnJiJudl.setText(dlStrList.get(which).toString()); System.out.println(xlStrList.size()); if(xlStrList!=null && xlStrList.size()>0) { btnJiJuxl.setText(xlStrList.get(0)); btnJiJupm.setText(pmStrList.get(0)); jijuBigType = dlList1.get(which).getCode(); jijuxlLayout.setVisibility(View.VISIBLE); jijupmLayout.setVisibility(View.VISIBLE); }else{ jijuxlLayout.setVisibility(View.GONE); jijupmLayout.setVisibility(View.GONE); jijuBigType = dlList1.get(which).getCode(); jijuKindsType=jijuBigType; } break; case 机具小类: pmList1 = database.getSmallKindsOfCarBeanPMInfo(MyState.CAR_TYPE_MARK + "", xlList1.get(which).getSmallClassName()); pmStrList = getNames(pmList1); GetSzFromList(dlStrList, xlStrList, pmStrList); btnJiJuxl.setText(xlStrList.get(which).toString()); btnJiJupm.setText(pmStrList.get(0)); jijuSmallType = xlList1.get(which).getCode(); break; case 机具品目: btnJiJupm.setText(pmStrList.get(which).toString()); jijuKindsType = pmList1.get(which).getCode(); break; case 排序方式: idxSortType = which; break; case 搜索范围: idxRange = which; break; case 处理状态: dealStatus = which - 1 + "";// 处理状态 全部 -1、已处理1、未处理 0 break; case 档案类型: fileType = which + 1 + "";// 档案类型 报修档案、维修档案 1、2 break; default: break; } dialog.dismiss(); } }); dialog.create().show(); } // 补贴一览首数据获取 protected void initParamBTYL() { application = (com.jiuqi.njt.data.MyApp) getApplication(); database = new Optdb_interfce(QueryContionActivity.this); database.createNJTable(); // 创建数据库表(表存在时不执行) dlList1 = database .getKindsOfCarBeanInfo(MyState.CAR_BIG_TYPE_MARK + ""); // 从数据库中查询数据如果有数据则不再从网络端获取 if (dlList1.size() != 0) { xlList1 = database.getSmallKindsOfCarBeanInfo( MyState.CAR_SMALL_TYPE_MARK + "", dlList1.get(0) .getBigClassName()); if (xlList1.size() != 0) { pmList1 = database.getSmallKindsOfCarBeanPMInfo( MyState.CAR_TYPE_MARK + "", xlList1.get(0) .getSmallClassName()); } initUIBTYL(); } else { if (new CheckState_interface(QueryContionActivity.this) .checkConnection()) { getCarTypeTaskNew = new GetCarTypeTaskNew(); getCarTypeTaskNew.execute(); } else { UIUtil.showMsg(QueryContionActivity.this, Constants.NETWORK_STATE_ERROR); } } } public class GetCarTypeTaskNew extends AsyncTask<Void, Void, String> {// 如果数据库没有则从网上获取,需要 Dialog pd = null; protected void onPreExecute() { pd = ProgressDialogStyle.createLoadingDialog( QueryContionActivity.this, "正在加载数据,请稍候..."); pd.show(); } protected String doInBackground(Void... params) { String msg = ""; ClientContext context = application.getClientContext(); try { if (null == context) { context = ClientContext.getClientContext( Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } IKindsOfCarManager ddm = context .getManager(IKindsOfCarManager.class); maps1 = ddm.getChildren(0L); getKindsOfCarBean(maps1, ddm); } catch (Exception e) { pd.dismiss(); if (e instanceof UndeclaredThrowableException) { msg = e.getCause().getMessage(); e.printStackTrace(); } else { msg = "失败"; e.printStackTrace(); } } return msg; } protected void onPostExecute(String result) { if (!"".equals(result)) { UIUtil.showMsg(QueryContionActivity.this, result); } else { // initUIBTYL(); } pd.dismiss(); } } public void getKindsOfCarBean(KindsOfCarBean[] mapsNJ_Dl, IKindsOfCarManager ddm) { dlList1 = new ArrayList<KindsOfCarBean>(); xlList1 = new ArrayList<KindsOfCarBean>(); pmList1 = new ArrayList<KindsOfCarBean>(); try { for (int j = 0; j < mapsNJ_Dl.length; j++) { dlList1.add(mapsNJ_Dl[j]); KindsOfCarBean[] mapsNJ_XL = ddm.getChildren(mapsNJ_Dl[j] .getCode()); for (int i = 0; i < mapsNJ_XL.length; i++) { if (null != mapsNJ_XL[i]) { xlList1.add(mapsNJ_XL[i]); KindsOfCarBean[] mapsNJ_PM = ddm .getChildren(mapsNJ_XL[i].getCode()); for (int k = 0; k < mapsNJ_PM.length; k++) { if (null != mapsNJ_PM[k]) { pmList1.add(mapsNJ_PM[k]); } } } } } database.InsertToDb(Optdb_interfce.TABLE_NJLEIBIE, dlList1); database.InsertToDb(Optdb_interfce.TABLE_NJLEIBIE, xlList1); database.InsertToDb(Optdb_interfce.TABLE_NJLEIBIE, pmList1); if (dlList1.size() != 0) { xlList1 = database.getSmallKindsOfCarBeanInfo( MyState.CAR_SMALL_TYPE_MARK + "", dlList1.get(0) .getBigClassName()); if (xlList1.size() != 0) { pmList1 = database.getSmallKindsOfCarBeanPMInfo( MyState.CAR_TYPE_MARK + "", xlList1.get(0) .getSmallClassName()); } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @SuppressLint("NewApi") protected void initUIBTYL() { dlStrList = getNames(dlList1);// 获取大类的名字 xlStrList = getNames(xlList1); pmStrList = getNames(pmList1); btnJiJudl.setText(dlStrList.get(0)); btnJiJuxl.setText(xlStrList.get(0)); btnJiJupm.setText(pmStrList.get(0)); GetSzFromList(dlStrList, xlStrList, pmStrList); } private ArrayList<String> getNames(List<KindsOfCarBean> dlList12) { // TODO Auto-generated method stub ArrayList<String> list = new ArrayList<String>(); for (int i = 0; i < dlList12.size(); i++) { list.add(dlList12.get(i).getName()); } return list; } private void GetSzFromList(List<String> dlStrList, List<String> xlStrList, List<String> pmStrList) { strArrayJJdl = new String[dlStrList.size()]; dlStrList.toArray(strArrayJJdl); strArrayJJxl = new String[xlStrList.size()]; xlStrList.toArray(strArrayJJxl); strArrayJJpm = new String[pmStrList.size()]; pmStrList.toArray(strArrayJJpm); } }