package com.jiuqi.njt.ui; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList1; import com.jiuqi.mobile.nigo.comeclose.bean.NiGoBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.manager.base.ICarModelManager; import com.jiuqi.mobile.nigo.comeclose.manager.base.SelectAllCarKey; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.model.NjBuTie; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.DateUtil; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; import com.jiuqi.njt.widget.ProgressDialogStyle; import com.jiuqi.njt.widget.XListView; import com.jiuqi.njt.widget.XListView.IXListViewListener; import com.jiuqi.njt.widget.XListView.ListFooteState; import android.os.AsyncTask; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewStub; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.TextView; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.Intent; public class Btml_SecondList extends Activity implements IXListViewListener { private MyApp application; private XListView listView; private MyAdapter mAdapter; private AdminAreaBean xzqh; private long startIndex = 0; private long totalCount = 0; private long carCode; private String name; private NiGoBean bean; private boolean isFirst = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); doinit(); } private void doinit() { initParam(); initWidgets(); } private void initParam() { bean = (NiGoBean) getIntent().getSerializableExtra("bean"); name = ((NjBuTie) bean).getName(); carCode =(null==((NjBuTie) bean).getType()?0: ((NjBuTie) bean).getType().getCode()); xzqh = ((NjBuTie) bean).getAdminAreaBean(); application = (MyApp) getApplicationContext(); } private void initWidgets() { setContentView(R.layout.btml_second_list); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "查询结果", new OnClickListener() { @Override public void onClick(View v) { Btml_SecondList.this.finish(); } }, "首页", new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub\ Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("index", 0); intent.setClass(Btml_SecondList.this, NjtMainActivity.class); startActivity(intent); finish(); } }); listView = (XListView) findViewById(R.id.listView); listView.setXListViewListener(this); listView.setPullLoadEnable(true); View btml_title = findViewById(R.id.btml_title); btml_title.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent in = new Intent(Btml_SecondList.this,BtmlUtilActivity.class); in.putExtra("carType", ((NjBuTie)bean).getType()); startActivityForResult(in, Constants.REQUEST_XZQH_CODE); } }); // 异步任务查询 new getBuTieMuLuAsyncTask().execute(); } /** * 补贴目录查询 */ private class getBuTieMuLuAsyncTask extends AsyncTask<Void, Void, LoadOnGetList1<Object[]>> { Dialog pd = null; @Override protected void onPreExecute() { if (isFirst) { pd = ProgressDialogStyle.createLoadingDialog( Btml_SecondList.this, null); pd.show(); isFirst = false; } } @Override protected LoadOnGetList1<Object[]> doInBackground(Void... params) { LoadOnGetList1<Object[]> dataList = null; try { ClientContext context = application.getClientContext(); if (null == context) { context = ClientContext.getClientContext( Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } long code = 0;// 代表查全部 if (null != xzqh) { code = xzqh.getCode(); }else{ if(!TextUtils.isEmpty(application.getProvinceCode())){ code = Long.parseLong(application.getProvinceCode()); } } ICarModelManager manager1 = context .getManager(ICarModelManager.class); SelectAllCarKey key = new SelectAllCarKey(); key.setAreaCode(code); key.setCarCode(carCode); key.setSize(Constants.PAGE_SIZE); key.setStartIndex(startIndex); // key.setName(name); dataList = manager1.getAllCar(key); totalCount = dataList.getTotalCount(); startIndex += Constants.PAGE_SIZE; } catch (Exception e) { removeDialog(1); e.printStackTrace(); } return dataList; } @Override protected void onPostExecute(LoadOnGetList1<Object[]> result) { // TODO Auto-generated method stub super.onPostExecute(result); initUINew(result); onLoad(); if (null != pd) { pd.dismiss(); } } } private void onLoad() { listView.stopRefresh(); listView.stopLoadMore(); listView.setRefreshTime(DateUtil.getTimeStamp(new Date(), DateUtil.MM_DD_HH_MM_SS)); } @Override public void onRefresh() { startIndex = 0; toQuery(); } @Override public void onLoadMore() { if (startIndex < totalCount) { toQuery(); } else { UIUtil.showMsg(Btml_SecondList.this, "没有更多"); setFootHintText(); onLoad(); } } private void toQuery() { new getBuTieMuLuAsyncTask().execute(); } public void setFootHintText() { if (totalCount == 0 ) { listView.setListFooteState(ListFooteState.noData); } else if(totalCount % Constants.PAGE_SIZE != 0){ listView.setListFooteState(ListFooteState.noMoreData); }else { listView.setListFooteState(ListFooteState.nomal); } listView.showNoData(); } private void initUINew(LoadOnGetList1<Object[]> result) { // TODO Auto-generated method stub ArrayList<Object[]> btmlList = new ArrayList<Object[]>(); List<NjBuTie> njBuTieList = new ArrayList<NjBuTie>(); if (null != result) { btmlList.addAll(result.getList()); for (Object[] list : btmlList) { NjBuTie njBuTie = new NjBuTie(); try { njBuTie.setCreateDate(); if (null != list[13]) { njBuTie.setGuid(list[13].toString()); } // njBuTie.setDetailedParameters(((NjBuTie)bean).getDetailedParameters()); njBuTie.setDetailedParameters(null == list[17] ? "" : list[17].toString()); njBuTie.setFactoryName(null == list[0] ? "" : list[0] .toString()); njBuTie.setContactName(null == list[11] ? "" : list[11] .toString()); njBuTie.setContactPhone(null == list[6] ? "" : list[6] .toString()); njBuTie.setModelName(null == list[4] ? "" : list[4] .toString()); njBuTie.setProductName(null == list[3] ? "" : list[3] .toString()); njBuTie.setAddress(null == list[12] ? "" : list[12] .toString()); njBuTie.setAddress(null == list[10] ? njBuTie.getAddress() : njBuTie.getAddress() + " " + list[0].toString()); njBuTie.setSubsidyMoney(null == list[5] ? "" : list[5] .toString()); njBuTie.setBrandName(null == list[2] ? "" : list[2] .toString()); njBuTie.setNjDl(null == list[14] ? "" : list[14].toString()); njBuTie.setNjXl(null == list[15] ? "" : list[15].toString()); njBuTie.setNjPm(null == list[16] ? "" : list[16].toString()); njBuTie.setLon(null == list[8] ? 0 : Double.valueOf(list[8] .toString())); njBuTie.setLat(null == list[7] ? 0 : Double.valueOf(list[7] .toString())); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } njBuTieList.add(njBuTie); } } setFootHintText(); mAdapter = new MyAdapter(this, njBuTieList); listView.setAdapter(mAdapter); } private class MyAdapter extends BaseAdapter { private Context context; private List<NjBuTie> njBuTieList = new ArrayList<NjBuTie>(); private LayoutInflater flater; public MyAdapter(Context context, List<NjBuTie> njBuTieList) { super(); this.context = context; this.njBuTieList = njBuTieList; flater = LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return njBuTieList.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return njBuTieList.get(arg0); } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return arg0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (null == convertView) { holder = new ViewHolder(); convertView = flater.inflate(R.layout.btml_list_second_item, null); TextView textTop = (TextView) convertView .findViewById(R.id.btml_TV1); TextView textBottomLeft = (TextView) convertView .findViewById(R.id.btml_TV2); TextView textBottomLeft1 = (TextView) convertView .findViewById(R.id.btml_TV3); holder.tvTitle1 = textTop; holder.tvTitle2 = textBottomLeft; holder.tvTitle3 = textBottomLeft1; convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final NiGoBean _obj; String title = ""; _obj = njBuTieList.get(position); title = njBuTieList.get(position).getBrandName(); holder.tvTitle1.setText(title); holder.tvTitle2.setText(njBuTieList.get(position).getModelName()); holder.tvTitle3.setText(njBuTieList.get(position).getFactoryName()); convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, Btml_Detail.class); intent.putExtra("bean", _obj); startActivity(intent); } }); return convertView; } } class ViewHolder { public TextView tvTitle1; public TextView tvTitle2; public TextView tvTitle3; } }