package com.jiuqi.njt.management; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.jiuqi.mobile.nigo.comeclose.bean.NiGoBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.ServiceCollectBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.file.CollectionBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectPoiKey; import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectServiceKey; import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectCollectionKey; import com.jiuqi.njt.R; import com.jiuqi.njt.adapter.MyFavorListAdapter; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.management.task.GetQueryResultAsyncTask; import com.jiuqi.njt.management.task.QueryFavorListTask; import com.jiuqi.njt.model.CModuleBean; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.DateUtil; import com.jiuqi.njt.util.UIUtil; import com.jiuqi.njt.widget.XListView; import com.jiuqi.njt.widget.XListView.IXListViewListener; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; /** * 维修点和我的收藏选取列表页面 * * @author Administrator * */ @SuppressLint("NewApi") public class FregmentWorkRepair extends Activity implements OnClickListener, IXListViewListener { private Button backLeft; private Button actionRight; private EditText etSearch; private ImageView ivDeleteText; private int tvAction; private XListView listView; private int startIndex; private int totalcount; private String flag; private OptsharepreInterface sharePre; private MyApp applcation; private SelectCollectionKey selectRepairsFileKey; private SelectServiceKey selectServiceKey; private boolean isFirst; private AdminAreaBean xzqh; // 所在地 private String name = ""; // 关键字 private int type; private int idxInfoType; private ArrayList<NiGoBean> newGetDataList = new ArrayList<NiGoBean>(); private MyFavorListAdapter adapter; private CModuleBean moduleBean; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); doinit(); } private void doinit() { initParam(); initWidgets(); initListeners(); initUI(); } private void initParam() { // TODO Auto-generated method stub applcation = (MyApp) getApplication(); sharePre = new OptsharepreInterface(getApplicationContext()); selectServiceKey = new SelectServiceKey(); selectServiceKey.setSearchStr(name); selectServiceKey.setLatitude(applcation.getLat()); selectServiceKey.setLongitude(applcation.getLon()); selectServiceKey.setSize(Constants.PAGE_SIZE); selectServiceKey.setStartIndex(startIndex); selectServiceKey.setOrgType(type); selectServiceKey.setSortField("range_kilometer"); Log.wtf("type", type+""); selectRepairsFileKey = new SelectCollectionKey(); selectRepairsFileKey.setAddPersonGuid(sharePre.getPres("guid")); // selectRepairsFileKey.setTypeOfCollection(1); selectRepairsFileKey.setSize(Constants.PAGE_SIZE); selectRepairsFileKey.setStartIndex(startIndex); flag = getIntent().getStringExtra("flag"); moduleBean = (CModuleBean) getIntent().getSerializableExtra( Constants.PARAM_MODULEBEAN); isFirst = true; } private void initWidgets() { // TODO Auto-generated method stub 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); listView = (XListView) findViewById(R.id.listView); listView.setPullLoadEnable(true); listView.setXListViewListener(this); toQuery(); } private void initListeners() { // TODO Auto-generated method stub // TODO Auto-generated method stub backLeft.setOnClickListener(this); actionRight.setOnClickListener(this); ivDeleteText.setOnClickListener(this); erSearchListener(); } private void erSearchListener() { // TODO Auto-generated method stub 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; } } }); } private void initUI() { // TODO Auto-generated method stub } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.backleft: this.finish(); break; case R.id.actionright: if (tvAction == 0) { UIUtil.requestQuery(FregmentWorkRepair.this, xzqh, moduleBean.getModuleFlag()); } else { isFirst = true; startIndex = 0; name = etSearch.getText().toString().trim(); tvAction = 0; actionRight.setText("筛选"); selectServiceKey .setSearchStr(name); toQuery(); } break; case R.id.ivDeleteText: etSearch.setText(""); break; default: break; } } 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; totalcount =0; selectServiceKey.setStartIndex(startIndex); toQuery(); } @Override public void onLoadMore() { if (startIndex < totalcount) { selectServiceKey.setStartIndex(startIndex); toQuery(); } else { UIUtil.showMsg(FregmentWorkRepair.this, "没有更多"); onLoad(); } } private void toQuery() { if(startIndex ==0){ newGetDataList = new ArrayList<NiGoBean>(); } if (flag.equals("service")) { new GetQueryResultAsyncTask( FregmentWorkRepair.this, isFirst, selectServiceKey, xzqh, idxInfoType,new GetData()).execute(); } else { new QueryFavorListTask(FregmentWorkRepair.this, selectRepairsFileKey,new GetData(),isFirst).execute(); } } public interface WhenTaskFinish{ void taskFinished(List<ServiceCollectBean> result); void taskFinishedNew(List<CollectionBean> result); } private class GetData implements WhenTaskFinish{ @Override public void taskFinished(List<ServiceCollectBean> dataList) { // TODO Auto-generated method stub startIndex += dataList.size(); totalcount = dataList.size(); for (int i = 0; i < dataList.size(); i++) { newGetDataList.add(dataList.get(i)); } adapter = new MyFavorListAdapter(FregmentWorkRepair.this, newGetDataList, flag); listView.setAdapter(adapter); onLoad(); isFirst = false; } @Override public void taskFinishedNew(List<CollectionBean> result) { // TODO Auto-generated method stub if(null!=result){ startIndex += result.size(); totalcount = result.size(); for (int i = 0; i < result.size(); i++) { newGetDataList.add(result.get(i)); } adapter = new MyFavorListAdapter(FregmentWorkRepair.this, newGetDataList, flag); listView.setAdapter(adapter); onLoad(); isFirst = false; } } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub if (requestCode == Constants.REQUEST_XZQH_CODE) { if (resultCode == RESULT_OK) { AdminAreaBean xzqh = (AdminAreaBean) data .getSerializableExtra(Constants.PARAM_XZQH); this.xzqh = xzqh; try { SelectPoiKey selectPoiKey = (SelectPoiKey)data.getSerializableExtra("SelectPoiKey"); if(null!=selectPoiKey){ selectServiceKey .setSize(selectPoiKey.getSize()); selectServiceKey.setLatitude(selectPoiKey.getLatitude()); selectServiceKey.setLongitude(selectPoiKey.getLongitude()); selectServiceKey.setRange_kilometer(selectPoiKey.getRange_kilometer()); selectServiceKey.setStartIndex(0); // selectServiceKey.setSort(selectPoiKey.getPoiSortType()); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } newGetDataList = new ArrayList<NiGoBean>(); toQuery(); } } } }