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;
}
}