package com.jiuqi.njt.ui; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList; import com.jiuqi.mobile.nigo.comeclose.bean.NiGoBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.PurchaseSubsidyBean; 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.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.util.Log; 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_firstList 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 boolean isFirst = true; private int wigth; private ArrayList<PurchaseSubsidyBean> btmlList = new ArrayList<PurchaseSubsidyBean>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); doinit(); } private void doinit() { initParam(); initWidgets(); } private void initParam() { wigth = getWindow().getWindowManager().getDefaultDisplay().getWidth(); carCode = getIntent().getLongExtra("carType", 0); Serializable serializableExtra = getIntent().getSerializableExtra( Constants.PARAM_XZQH); if (null != serializableExtra) { if (serializableExtra instanceof AdminAreaBean) { AdminAreaBean new_name = (AdminAreaBean) serializableExtra; xzqh = new_name; } } application = (MyApp) getApplicationContext(); } private void initWidgets() { setContentView(R.layout.btml_first_list); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "查询结果", new OnClickListener() { @Override public void onClick(View v) { Btml_firstList.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_firstList.this, NjtMainActivity.class); startActivity(intent); finish(); } }); listView = (XListView) findViewById(R.id.listView); listView.setXListViewListener(this); listView.setPullLoadEnable(true); // 异步任务查询 new getBuTieMuLuAsyncTask().execute(); } /** * 补贴目录查询 */ private class getBuTieMuLuAsyncTask extends AsyncTask<Void, Void, LoadOnGetList<PurchaseSubsidyBean>> { Dialog pd = null; @Override protected void onPreExecute() { if (isFirst) { pd = ProgressDialogStyle.createLoadingDialog( Btml_firstList.this, null); pd.show(); isFirst = false; } } @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); } long code = 0;// 代表查全部 if (null != xzqh) { code = xzqh.getCode(); }else{ if(!TextUtils.isEmpty(application.getProvinceCode())){ code = Long.parseLong(application.getProvinceCode()); } } 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(startIndex==0){ btmlList = new ArrayList<PurchaseSubsidyBean>(); } dataList = manager.getAllCar(key); totalCount = dataList.getTotalCount(); startIndex += Constants.PAGE_SIZE; } catch (Exception e) { removeDialog(1); e.printStackTrace(); } return dataList; } @Override protected void onPostExecute(LoadOnGetList<PurchaseSubsidyBean> 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_firstList.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(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(); 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; private String title1; private String title2; private String jiage; private String rr= ""; 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_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 = (ViewHolder) convertView.getTag(); } final NiGoBean _obj; String title = ""; _obj = njBuTieList.get(position); title = njBuTieList.get(position).getDetailedParameters(); Log.e("111111111::::", wigth + ""); 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); Log.e("名称--", title1); Log.e("价格区间--", datae); // holder.tvTitle3.setText(njBuTieList.get(position).getSubsidies()); 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 ViewHolder { public TextView tvTitle1; public TextView tvTitle2; public TextView tvTitle3; } public static void main(String[] args) { String testStr = "李克强夫人程虹是首都经济贸易大学外语系英语教授"; System.out.println(testStr.length()); } }