package com.jiuqi.njt.son; import java.lang.reflect.UndeclaredThrowableException; import java.util.ArrayList; import java.util.List; import com.jqyd.android.module.lbs.util.CheckState_interface; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean; import com.jiuqi.mobile.nigo.comeclose.exception.LoginException; import com.jiuqi.mobile.nigo.comeclose.manager.base.IDataDictionaryManager; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.ui.AbstractNjtActivity01; import com.jiuqi.njt.ui.SearchResultActivityReceiveParams; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; import com.jiuqi.njt.widget.ProgressDialogStyle; import android.os.AsyncTask; import android.os.Bundle; import android.app.Dialog; import android.content.Intent; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.view.ViewStub; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.AdapterView.OnItemSelectedListener; public class ServiceAgencies extends AbstractNjtActivity01 implements OnClickListener { private EditText etName; private Button btnProvince; private Button btnQuery; private Spinner dl_spinner; private int index = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new GetMessage().execute(); } @Override protected void doinit() { // Log.v(Constants.TAG, "JobsQueryActivity doinit()"); initWidgets(); initParam(); initListeners(); initUI(); } @Override protected void initParam() { // Log.v(Constants.TAG, "JobsQueryActivity initParam()"); application = (MyApp) getApplication(); if(!TextUtils.isEmpty(application.getProvince())){ btnProvince.setText(application.getProvince()); } } @Override protected void initWidgets() { // TODO Auto-generated method stub setContentView(R.layout.service_agencies); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "服务机构查询", new OnClickListener() { @Override public void onClick(View v) { ServiceAgencies.this.finish(); } }); etName = (EditText) findViewById(R.id.etName); btnProvince = (Button) findViewById(R.id.btnProvince); btnQuery = (Button) findViewById(R.id.btnQuery); dl_spinner = (Spinner) findViewById(R.id.spinner_dl); // 加油站资质: } @Override protected void initListeners() { btnProvince.setOnClickListener(this); btnQuery.setOnClickListener(this); dl_spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { index = arg2; } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == Constants.REQUEST_XZQH_CODE) { if (resultCode == RESULT_OK) { AdminAreaBean xzqh = (AdminAreaBean) data .getSerializableExtra(Constants.PARAM_XZQH); Log.v(Constants.TAG, xzqh.toString()); this.xzqh = xzqh; btnProvince.setText(xzqh.getFullName()); } } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnProvince: UIUtil.requestXzqh(this, xzqh); break; case R.id.btnQuery: if (UIUtil.isFastDoubleClick()) { return; } if (true) { if (new CheckState_interface(ServiceAgencies.this) .checkConnection()) { doQuery(); } else { UIUtil.showMsg(ServiceAgencies.this, Constants.NETWORK_STATE_ERROR); } } break; default: break; } } private void doQuery() { CharSequence etNameText = etName.getText(); Intent intent = new Intent(this, SearchResultActivityReceiveParams.class); intent.putExtra(Constants.PARAM_ID, 3); intent.putExtra(Constants.PARAM_NAME, etNameText.toString()); intent.putExtra(Constants.PARAM_XZQH, xzqh); intent.putExtra("flag", "service"); intent.putExtra("type", index + 1); intent.putExtra("from","ServiceAgencies"); startActivity(intent); } class GetMessage extends AsyncTask<Void, Void, DataDictionaryBean[]> { @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); myshowDialog(1); } @Override protected DataDictionaryBean[] doInBackground(Void... params) { // TODO Auto-generated method stub DataDictionaryBean[] stringBeans; try { ClientContext context = application.getClientContext(); if (!application.getIsLogin()) { context = null; } if (null == context) { context = ClientContext.getClientContext( Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } IDataDictionaryManager dmanager = context .getManager(IDataDictionaryManager.class); stringBeans = dmanager.get(90002); return stringBeans; } catch (LoginException e) { // TODO Auto-generated catch block myremoveDialog(1); e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block if (e instanceof UndeclaredThrowableException) { e.getCause().getMessage(); } myremoveDialog(1); e.printStackTrace(); } return null; } @Override protected void onPostExecute(DataDictionaryBean[] result) { // TODO Auto-generated method stub super.onPostExecute(result); myremoveDialog(1); try { if (null != result) { List<String> typeList = new ArrayList<String>(); for (DataDictionaryBean bean : result) { Log.e("2222222222", bean.getName().getClass() .toString()); typeList.add(bean.getName()); } initSpinner(typeList, dl_spinner); } else { UIUtil.showMsg(ServiceAgencies.this, "获取信息失败"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } private void initSpinner(List<String> dataList, Spinner spinner) { ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, dataList); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.notifyDataSetChanged(); spinner.setAdapter(adapter); } Dialog pd; private void myshowDialog(int i) { if (i == 1) { pd = ProgressDialogStyle.createLoadingDialog(this, "正在加载数据..."); pd.show(); } else if (i == 2) { pd = ProgressDialogStyle.createLoadingDialog(this, "正在提交数据..."); pd.show(); } } private void myremoveDialog(int i) { if (i == 1) { if (pd != null) { pd.dismiss(); } } else if (i == 2) { if (pd != null) { pd.dismiss(); } } } }