package com.jiuqi.njt.ui; import java.lang.reflect.UndeclaredThrowableException; 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.List; import android.R.integer; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.ViewStub; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import com.amap.api.mapcore.util.an; import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList; import com.jiuqi.mobile.nigo.comeclose.bean.NiGoBean; import com.jiuqi.mobile.nigo.comeclose.bean.SortType; import com.jiuqi.mobile.nigo.comeclose.bean.app.news.CarTaskNewsBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.news.SupplyAndDemandTaskNewsBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.news.TaskNews; import com.jiuqi.mobile.nigo.comeclose.bean.app.news.WorkTaskNewsBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.KindsOfCarBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.PurchaseSubsidyBean; import com.jiuqi.mobile.nigo.comeclose.manager.app.INewsManager; 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.base.IKindsOfCarManager; import com.jiuqi.mobile.nigo.comeclose.manager.base.IPurchaseSubsidyManager; 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.data.Optdb_interfce; import com.jiuqi.njt.model.CModuleBean; import com.jiuqi.njt.model.NjBuTie; import com.jiuqi.njt.son.MyState; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.DateUtil; import com.jiuqi.njt.util.RepairUtils; 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; /**============================================================ * 版权: 久其软件 版权所有 (c) * 包: * 修改记录: * 日期 作者 内容 * ============================================================= * 2013-6-13 liyue * ============================================================*/ /** * <p> * 查询结果界面 * </p> * * <p> * Copyright: 版权所有 (c)<br> * Company: 久其 * </p> * * @author liyue * @version 2013-6-13 */ @SuppressLint("NewApi") public class SearchResultActivity extends Activity implements IXListViewListener, OnClickListener { private String TAG = this.getClass().getName(); private SelectNewsKey key; private XListView listView; private MyListAdapter mAdapter; private ArrayList<TaskNews> dataList = new ArrayList<TaskNews>(); public String flag = ""; // 标识哪种查询 private long startIndex = 0; private int totalCount = 0; private boolean isFirst = true; // 信息查询是不是第一次需要显示进度条 private CModuleBean moduleBean;// 区别模块定制标示 private Button backLeft; private Button actionRight; private EditText etSearch; private ImageView ivDeleteText; private int tvAction; private AdminAreaBean xzqh; // 所在地 private String name = ""; // 关键字 private KindsOfCarBean[] maps1; private long carCode ; private ArrayList<KindsOfCarBean> dlList1 = new ArrayList<KindsOfCarBean>(); // 农机大类 private ArrayList<KindsOfCarBean> xlList1 = new ArrayList<KindsOfCarBean>(); // 农机小类 private ArrayList<KindsOfCarBean> pmList1 = new ArrayList<KindsOfCarBean>(); // 农机品目 private List<String> dlStrList; private MyApp application; private Optdb_interfce database; private long code = 0;// 代表查全部 private ArrayList<PurchaseSubsidyBean> btmlList = new ArrayList<PurchaseSubsidyBean>(); private int wigth; private MyAdapterBTYL mAdapterBTYL; private SelectAllCarKey keyBTYL; private boolean checkNET; private Calendar c; private String currentdata; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); c = Calendar.getInstance(); currentdata = c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.DAY_OF_MONTH)+ " " + "00:00:00"; doinit(); } private void doinit() { initParam(); initWidgets(); } private void initParam() { application = (MyApp) getApplicationContext(); wigth = getWindow().getWindowManager().getDefaultDisplay().getWidth(); moduleBean = (CModuleBean) getIntent().getSerializableExtra( Constants.PARAM_MODULEBEAN); if (null != moduleBean) { Long areaCode = null; if (application.getProvince() != null) { areaCode = application.getCode(); } switch (moduleBean.getModuleFlag()) { case nyjnj://拟引进 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setCarTaskNewsParams(1, null, null, null, null, areaCode); flag = "machine"; break; case npcnj://拟引进 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setCarTaskNewsParams(2, null, null, null, null, areaCode); flag = "machine"; break; case jsxx://机收信息 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setWorkTaskNewsParams(2, null, null, null, areaCode); flag = "job"; break; case jgxx://机耕信息 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setWorkTaskNewsParams(3, null, null, null, areaCode); flag = "job"; break; case jbxx://机播信息 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setWorkTaskNewsParams(1, null, null, null, areaCode); flag = "job"; break; case ssxx://深松信息 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setWorkTaskNewsParams(4, null, null, null, areaCode); flag = "job"; break; case jghtxxcx: key = new SelectNewsKey(Constants.PAGE_SIZE); key.setWorkTaskNewsParams(5, null, null, null, areaCode); flag = "job"; break; case khxxcx: key = new SelectNewsKey(Constants.PAGE_SIZE); key.setWorkTaskNewsParams(6, null, null, null, areaCode); flag = "job"; break; case zbxxcx://植保信息查询 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setWorkTaskNewsParams(7, null, null, null, areaCode); flag = "job"; break; case gyxx://供应信息 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setSupplyAndDemandTaskNewsParams(1, null, null, areaCode); flag = "supply"; break; case qxxx://求需信息 key = new SelectNewsKey(Constants.PAGE_SIZE); key.setSupplyAndDemandTaskNewsParams(2, null, null, areaCode); flag = "supply"; break; case btyl: keyBTYL = new SelectAllCarKey(); flag = "njbt"; break; default: break; } } else { key = (SelectNewsKey) getIntent().getSerializableExtra("key"); flag = getIntent().getStringExtra("flag"); } } @SuppressLint("NewApi") private void initWidgets() { if (null != moduleBean) { setContentView(R.layout.layout_tem_xlistview); backLeft = (Button) findViewById(R.id.backleft); actionRight = (Button) findViewById(R.id.actionright); etSearch = (EditText) findViewById(R.id.etSearch); ivDeleteText = (ImageView) findViewById(R.id.ivDeleteText); initListeners(); } else { setContentView(R.layout.layout_template_xlistview); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "查询结果", new OnClickListener() { @Override public void onClick(View v) { SearchResultActivity.this.finish(); } }); } listView = (XListView) findViewById(R.id.listView); listView.setPullLoadEnable(true); listView.setXListViewListener(this); // setFootHintText(); // 异步任务查询 if (flag.equals("njbt")) { initJiJuAllData(); } else { new getQueryResultAsyncTask().execute(); } } private void initListeners() { backLeft.setOnClickListener(this); actionRight.setOnClickListener(this); ivDeleteText.setOnClickListener(this); erSearchListener(); } private void initUI(ArrayList<TaskNews> dataList) { setFootHintText(); //客户端添加的排序操作 // Collections.sort(dataList, new Comparator<TaskNews>() { // // @Override // public int compare(TaskNews lhs, TaskNews rhs) { // // TODO Auto-generated method stub // Date date1 =DateUtil.parseDate(lhs.getCreateDateStr()); // Date date2 = DateUtil.parseDate(rhs.getCreateDateStr()); // if(date1.before(date2)){ // return 1; // } // return -1; // } // // // // }); mAdapter = new MyListAdapter(this, dataList,flag); listView.setAdapter(mAdapter); onLoad(); } @SuppressLint("NewApi") @Override public void onClick(View v) { switch (v.getId()) { case R.id.backleft: this.finish(); break; case R.id.actionright: if (tvAction == 0) { UIUtil.requestQuery(SearchResultActivity.this, xzqh, moduleBean.getModuleFlag()); } else { isFirst = true; startIndex = 0; name = etSearch.getText().toString().trim(); tvAction = 0; actionRight.setText("筛选"); toQuery(); } break; case R.id.ivDeleteText: etSearch.setText(""); break; default: break; } } @SuppressLint("NewApi") @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); this.xzqh = xzqh; if (flag.equals("njbt")) { keyBTYL = (SelectAllCarKey) data .getSerializableExtra("key"); code = keyBTYL.getAreaCode(); carCode = keyBTYL.getCarCode(); } else { key = (SelectNewsKey) data.getSerializableExtra("key"); } isFirst = true; startIndex = 0; toQuery(); } } } private void onLoad() { listView.setSelection(((int)(startIndex))-totalCount); 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 (totalCount != 0 && totalCount % Constants.PAGE_SIZE == 0) { toQuery(); } else { UIUtil.showMsg(SearchResultActivity.this, "没有更多"); onLoad(); } } public void setFootHintText() { Log.e(TAG,"totalCount"+totalCount+"totalCount%Constants.PAGE_SIZE!=0"+(totalCount%Constants.PAGE_SIZE!=0)); 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 toQuery() { if (flag.equals("njbt")) { new getBuTieMuLuAsyncTask().execute(); } else { new getQueryResultAsyncTask().execute(); } } private void erSearchListener() { etSearch.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub if (s.length() == 0) { ivDeleteText.setVisibility(View.INVISIBLE); actionRight.setText("筛选"); tvAction = 0; } else { ivDeleteText.setVisibility(View.VISIBLE); actionRight.setText("搜索"); tvAction = 1; } } }); } /** * 提交信息,访问网络时必须变成异步任务才可以提交,2.3规则。 */ private class getQueryResultAsyncTask extends AsyncTask<Void, Void, LoadOnGetList<? extends TaskNews>> { Dialog pd = null; @Override protected void onPreExecute() { if (startIndex == 0) { dataList = new ArrayList<TaskNews>(); } if (isFirst) { pd = ProgressDialogStyle.createLoadingDialog( SearchResultActivity.this, null); pd.show(); isFirst = false; } } @Override protected LoadOnGetList<? extends TaskNews> doInBackground( Void... params) { LoadOnGetList<? extends TaskNews> jobnewslist = new LoadOnGetList<TaskNews>(); try { MyApp application = (MyApp) getApplication(); ClientContext context = application.getClientContext(); if (null == context) { context = ClientContext.getClientContext( Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } INewsManager manager = context.getManager(INewsManager.class); key.setStartIndex(startIndex); if(null!=name&&!"".equals(name)){ SelectNewsParam param = new SelectNewsParam("contactor"); param.setSearch(name); key.addParams(param); } //根据条件,进行数据的排列 key.setSortField("createdate desc ,POWER(longitude-"+application.getLon()+", 2)+POWER(latitude-"+application.getLat()+", 2) "); key.setSort(SortType.ASC); Log.wtf("flag", flag); if ("job".equals(flag)) { jobnewslist = manager.get(WorkTaskNewsBean.class, key); } else if ("machine".equals(flag)) { jobnewslist = manager.get(CarTaskNewsBean.class, key); } else if ("supply".equals(flag)) { jobnewslist = manager.get( SupplyAndDemandTaskNewsBean.class, key); } startIndex += jobnewslist.getList().size(); totalCount = jobnewslist.getList().size(); } catch (Exception e) { e.printStackTrace(); } return jobnewslist; } @Override protected void onCancelled() { super.onCancelled(); } @SuppressWarnings("unchecked") @Override protected void onPostExecute(LoadOnGetList<? extends TaskNews> result) { dataList.addAll((ArrayList<TaskNews>) result.getList()); Log.wtf("jobnewslist", result.getList().size()+""); initUI(dataList); if (null != pd) { pd.dismiss(); } } } class MyListAdapter extends BaseAdapter { private Context context; private ArrayList<TaskNews> _items = new ArrayList<TaskNews>(); private LayoutInflater flater; public MyListAdapter(Context context, ArrayList<TaskNews> items,String type) { this.context = context; if (null != items) { this._items = items; } flater = LayoutInflater.from(context); } @SuppressLint("NewApi") @Override public int getCount() { return _items.size(); } @Override public Object getItem(int position) { return _items.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (null == convertView) { holder = new ViewHolder(); convertView = flater.inflate(R.layout.query_result_list, null); TextView textTop = (TextView) convertView .findViewById(R.id.text_top); TextView textBottomLeft = (TextView) convertView .findViewById(R.id.text_bottom_left); TextView textBottomRight = (TextView) convertView .findViewById(R.id.text_bottom_right); TextView textDate = (TextView) convertView .findViewById(R.id.text_date_right); ImageView image = (ImageView) convertView .findViewById(R.id.image); textDate.setVisibility(View.VISIBLE); holder.setTvTitleTop(textTop); holder.setTvTitleBootomLeft(textBottomLeft); holder.setTvTitleBootomRight(textBottomRight); holder.setTvTitleDateLeft(textDate); holder.setImage(image); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final TaskNews obj = _items.get(position); TaskNews news = obj; String unitName = "", tel = "", count = "", name = "",date = ""; if (flag.equals("job")) { WorkTaskNewsBean bean = (WorkTaskNewsBean) news; name = bean.getWorkType().getName(); unitName = bean.getContactor(); tel = bean.getContactMobileNumber(); date = bean.getCreateDateStr(); count = bean.getMus() + " 亩"; } else if (flag.equals("machine")) { CarTaskNewsBean bean = (CarTaskNewsBean) news; if (null != bean.getCarTypeNew()) { name = bean.getCarTypeNew().getName(); } unitName = bean.getContactor(); tel = bean.getContactMobileNumber(); count = bean.getCount() + " 辆"; } else if (flag.equals("supply")) { SupplyAndDemandTaskNewsBean bean = (SupplyAndDemandTaskNewsBean) news; name = bean.getGoodsName(); unitName = bean.getContactor(); tel = bean.getContactMobileNumber(); count = bean.getCount() + (bean.getGoodsUnit() == null ? "" : bean .getGoodsUnit().getName()); } if (null != obj) { holder.getTvTitleTop().setText( setNullToStr(name) + " " + setNullToStr(count)); holder.getTvTitleBootomLeft().setText(setNullToStr(unitName)); holder.getTvTitleBootomRight().setText(setNullToStr(tel)); holder.getTvTitleDateLeft().setText(setNullToStr(date)); //截止日期如果当前时间,证明发布的消息已经去过期 if (obj.getEndDate().getTime() < DateUtil.parseDate(currentdata,DateUtil.YYYY_MM_DD_HH_MM_SS).getTime()){ holder.getTvTitleTop().setTextColor(getResources().getColor(R.color.red)); holder.getTvTitleBootomLeft().setTextColor(getResources().getColor(R.color.red)); holder.getTvTitleBootomRight().setTextColor(getResources().getColor(R.color.red)); } convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, QueryDetailActivity.class); intent.putExtra("bean", obj); intent.putExtra("flag", flag); startActivity(intent); } }); } else { holder.getTvTitleTop().setText("无数据"); } return convertView; } } class ViewHolder { private TextView tvTitleTop; private TextView tvTitleBootomLeft; private TextView tvTitleBootomRight; private TextView tvTitleDateRight; private ImageView image; public TextView getTvTitleTop() { return tvTitleTop; } public void setTvTitleTop(TextView tvTitleTop) { this.tvTitleTop = tvTitleTop; } public TextView getTvTitleBootomLeft() { return tvTitleBootomLeft; } public void setTvTitleBootomLeft(TextView tvTitleBootomLeft) { this.tvTitleBootomLeft = tvTitleBootomLeft; } public TextView getTvTitleDateLeft() { return tvTitleDateRight; } public void setTvTitleDateLeft(TextView tvTitleDateRight) { this.tvTitleDateRight = tvTitleDateRight; } public TextView getTvTitleBootomRight() { return tvTitleBootomRight; } public void setTvTitleBootomRight(TextView tvTitleBootomRight) { this.tvTitleBootomRight = tvTitleBootomRight; } public ImageView getImage() { return image; } public void setImage(ImageView image) { this.image = image; } } public String setNullToStr(String str) { if (null == str) { return ""; } else { return str; } } // 补贴一览首数据获取 @SuppressLint("NewApi") protected void initJiJuAllData() { application = (MyApp) getApplication(); new getBuTieMuLuAsyncTask().execute(); } @SuppressLint("NewApi") 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") private void getFirstCarCode() { if (null != dlList1 ) { long dlcode = dlList1.get(0).getCode(); if(null != xlList1) { long xlcode = xlList1.get(0).getCode(); if(null != pmList1) { long pmcode = pmList1.get(0).getCode(); if (pmcode == 0) { if (xlcode == 0) { pmcode = dlcode; } else { pmcode = xlcode; } try { code = Long.parseLong(application.getProvinceCode()); } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (0 != pmcode) { carCode = pmcode; } } } startIndex = 0; } } /** * 补贴目录查询异步线程 * */ private class getBuTieMuLuAsyncTask extends AsyncTask<Void, Void, LoadOnGetList<PurchaseSubsidyBean>> { Dialog pd = null; @Override protected void onPreExecute() { if (null!=SearchResultActivity.this&&isFirst) { pd =RepairUtils.myShowDialog(SearchResultActivity.this, 5); isFirst = false; } } @SuppressLint("NewApi") @Override protected LoadOnGetList<PurchaseSubsidyBean> doInBackground( Void... params) { LoadOnGetList<PurchaseSubsidyBean> dataList = null; try { ClientContext context = application.getClientContext(); if (null == context) { context = ClientContext.getClientContext( Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } IPurchaseSubsidyManager manager = context .getManager(IPurchaseSubsidyManager.class); SelectAllCarKey key = new SelectAllCarKey(); key.setAreaCode(code); key.setCarCode(carCode); key.setSize(Constants.PAGE_SIZE); key.setStartIndex(startIndex); if (null != name && name != "") { key.setFuzzyQuery(name); name = ""; } dataList = manager.getAllCar(key); if (startIndex == 0) { btmlList = new ArrayList<PurchaseSubsidyBean>(); } startIndex += dataList.getList().size(); totalCount = dataList.getList().size(); } catch (Exception e) { removeDialog(1); e.printStackTrace(); } return dataList; } @Override protected void onPostExecute(LoadOnGetList<PurchaseSubsidyBean> result) { super.onPostExecute(result); initUINew(result); if (null != pd) { pd.dismiss(); } } } private void initUINew(LoadOnGetList<PurchaseSubsidyBean> result) { List<NjBuTie> njBuTieList = new ArrayList<NjBuTie>(); if (null != result) { btmlList.addAll(result.getList()); for (PurchaseSubsidyBean purchaseSubsidyBean : btmlList) { NjBuTie njBuTie = new NjBuTie(); njBuTie.setCreateDate(purchaseSubsidyBean.getCreateDate()); if (null != purchaseSubsidyBean.getGuid()) { njBuTie.setGuid(purchaseSubsidyBean.getGuid()); } njBuTie.setAdminAreaBean(xzqh); njBuTie.setName(null == purchaseSubsidyBean.getName() ? "" : purchaseSubsidyBean.getName()); njBuTie.setSubsidies(null == purchaseSubsidyBean.getSubsidies() ? "" : purchaseSubsidyBean.getSubsidies()); njBuTie.setDetailedParameters(null == purchaseSubsidyBean .getDetailedParameters() ? "" : purchaseSubsidyBean .getDetailedParameters()); if (null != purchaseSubsidyBean.getKindsOfCarBean()) { njBuTie.setType(purchaseSubsidyBean.getKindsOfCarBean()); } njBuTie.setSubsidiesArea(purchaseSubsidyBean.getSubsidiesArea()); njBuTie.setMinSubsidies(purchaseSubsidyBean.getMinSubsidies()); njBuTie.setMaxSubsidies(purchaseSubsidyBean.getMaxSubsidies()); njBuTieList.add(njBuTie); } } setFootHintText(); mAdapterBTYL = new MyAdapterBTYL(this, njBuTieList); listView.setAdapter(mAdapterBTYL); onLoad(); } private class MyAdapterBTYL extends BaseAdapter { private Context context; private List<NjBuTie> njBuTieList = new ArrayList<NjBuTie>(); private LayoutInflater flater; private String title1; private String title2; private String jiage; private String rr = ""; public MyAdapterBTYL(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) { ViewHolderBTYL holder = null; if (null == convertView) { holder = new ViewHolderBTYL(); convertView = flater.inflate(R.layout.btml_list_first_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 = (ViewHolderBTYL) convertView.getTag(); } final NiGoBean _obj; String title = ""; _obj = njBuTieList.get(position); title = njBuTieList.get(position).getDetailedParameters(); int length = 22; if (wigth > 1000) { length = 40; } else if (wigth > 800 && wigth < 1000) { length = 30; } if (title.length() > length) { title1 = title.substring(0, length); title2 = title.substring(length, title.length()); } else { title1 = title; title2 = ""; } jiage = njBuTieList.get(position).getSubsidies() + "元"; String datae = setTextStyle(title2, jiage, length); holder.tvTitle1.setText(title1); holder.tvTitle3.setText(datae); convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, Btml_SecondList.class); intent.putExtra("bean", _obj); startActivity(intent); } }); return convertView; } // 控制文本在两行显示 public String setTextStyle(String data, String data1, int length) { String title2 = ""; if (length == 40) { rr = " "; } else { rr = " "; } if (data.length() + data1.length() > length) { title2 = data.substring(0, length - data1.length() - 2) + ".." + data1; } else { String temp = ""; for (int i = 0; i < (length - data1.length() - data.length()); i++) { temp += rr; // temp+=" "; } title2 = data + temp + data1; } return title2; } } class ViewHolderBTYL { public TextView tvTitle1; public TextView tvTitle2; public TextView tvTitle3; } // //字符串包含处理 // boolean containsAny(String str, String searchChars) { // if (str.contains(searchChars)) // return true; // else // return false; // } private List<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; } }