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