package com.jiuqi.njt.register; import java.util.ArrayList; import java.util.Date; import java.util.List; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.DisplayMetrics; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean; import com.jiuqi.mobile.nigo.comeclose.manager.master.IOrganizationManager; import com.jiuqi.njt.R; import com.jiuqi.njt.data.MyApp; 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 com.jiuqi.njt.widget.XListView.ListFooteState; /**============================================================ * 版权: 久其软件 版权所有 (c) * 包: * 修改记录: * 日期 作者 内容 * ============================================================= * 2013-6-13 liyue * ============================================================*/ /** * <p> * 查询列表界面 * </p> * * <p> * Copyright: 版权所有 (c)<br> * Company: 久其 * </p> * * @author joe * @version 2015-2-1 */ @SuppressLint("NewApi") public class NongJiJu extends Activity implements IXListViewListener, OnClickListener { private String tag = this.getClass().getName(); private Context context = this; private XListView listView; private Button backLeft = null; private Button actionRight = null; private EditText etSearch = null; private ImageView ivDeleteText = null; private CModuleBean moduleBean; // 区别模块定制标示 private MyApp application; private long startIndex = 0; private int totalCount = 0; private String name; // 关键字 private AdminAreaBean xzqh; // 所在地 private List<UserBean> allDataList; private String flag = ""; // 信息查询的类别标示 private boolean isFirst = true; // 信息查询是不是第一次需要显示进度条 private int tvAction = 0; private Button addButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); doinit(); } private void doinit() { initParam(); initWidgets(); initListeners(); } @SuppressLint("NewApi") private void initParam() { application = (MyApp) getApplicationContext(); moduleBean = (CModuleBean) getIntent().getSerializableExtra( Constants.PARAM_MODULEBEAN); // 如果是来自模块定制跳转,就直接默认初始化查询条件,否则就接收Intent 传值 if (null != moduleBean) { switch (moduleBean.getModuleFlag()) { case njj: break; // case jstg: // break; // case zlts: // break; // case aqjl: // break; // case pxjg: // break; // case syjd: // break; // case njjx: // break; // case wxjg: // break; // case jyz: // break; // case wxd: // break; // case jxs: // break; // case hzs: // break; // case hzscj: // break; // case jyzcj: // break; // case wxdcj: // break; default: break; } } else { } } @SuppressLint("NewApi") private void initWidgets() { setContentView(R.layout.layout_tem_xlistview); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); backLeft = (Button) findViewById(R.id.backleft); actionRight = (Button) findViewById(R.id.actionright); etSearch = (EditText) findViewById(R.id.etSearch); addButton = (Button) findViewById(R.id.add_bottom); listView = (XListView) findViewById(R.id.listView); ivDeleteText = (ImageView) findViewById(R.id.ivDeleteText); addBtnLayout(addButton); } private void initListeners() { // TODO Auto-generated method stub backLeft.setOnClickListener(this); actionRight.setOnClickListener(this); ivDeleteText.setOnClickListener(this); listView.setXListViewListener(this); listView.setPullLoadEnable(true); erSearchListener(); // setFootHintText(); toQuery(); } // 服务网点查询list设置 private void initUI(List<UserBean> dataList) { setFootHintText(); MyListAdapter adapter = new MyListAdapter(context, dataList); listView.setAdapter(adapter); onLoad(); } @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(NongJiJu.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; } } 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 (startIndex%Constants.PAGE_SIZE == 0) { toQuery(); } else { UIUtil.showMsg(NongJiJu.this, "没有更多"); onLoad(); } } 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 toQuery() { if(startIndex == 0){ allDataList = new ArrayList<UserBean>(); } Class[] parameterTypes = {String.class}; Object[] args={xzqh == null?(application.getProvinceCode()==null?0:application.getProvinceCode()):(String.valueOf(xzqh.getCode()))}; RegisterUtils.executeTask(context, IOrganizationManager.class, "getChildrenNodesSimple", parameterTypes, args, true, new AllTaskInterface() { @Override public <T> void taskFinishReturn(T... result) { if(null!=result){ List<UserBean> dataList= (List<UserBean>) result[0]; if(null!=dataList){ startIndex += dataList.size(); totalCount += dataList.size(); allDataList.addAll(dataList); } } initUI(allDataList); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); // 接受Intent传值,如果有值,根据新的查询条件 从新查询. if (requestCode == Constants.REQUEST_XZQH_CODE) { if (resultCode == RESULT_OK) { AdminAreaBean xzqh = (AdminAreaBean) data .getSerializableExtra(Constants.PARAM_XZQH); this.xzqh = xzqh; isFirst = true; startIndex = 0; toQuery(); } } } // etSearch监听事件方法 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; } } }); } @SuppressLint("NewApi") private void addBtnLayout(Button btn) { DisplayMetrics dmMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dmMetrics); // 服务网点查询list设置 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.height = dmMetrics.widthPixels / 10; params.width = dmMetrics.heightPixels / 11; params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); params.addRule(RelativeLayout.CENTER_VERTICAL); addButton.setLayoutParams(params); } class MyListAdapter extends BaseAdapter { private Context context; private LayoutInflater flater; private List<UserBean> allDataList; public MyListAdapter(Context context, List<UserBean> allDataList) { this.context = context; flater = LayoutInflater.from(context); this.allDataList = allDataList; } @Override public int getCount() { return allDataList.size(); } @Override public Object getItem(int position) { return allDataList.get(position); } @Override public long getItemId(int position) { return position; } @SuppressLint("NewApi") @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (null == convertView) { holder = new ViewHolder(); convertView = flater.inflate(R.layout.listview_item, null); TextView textTop = (TextView) convertView .findViewById(R.id.weatherTvTitle); TextView textBottomLeft = (TextView) convertView .findViewById(R.id.tvDate); ImageView img = (ImageView)convertView.findViewById(R.id.arrow); img.setVisibility(View.GONE); holder.tvTitle = textTop; holder.tvDate = textBottomLeft; convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final UserBean userBean = allDataList.get(position); if (null != userBean) { holder.tvTitle.setText(userBean.getUserName() == null ?"":userBean.getUserName()); if (null != userBean.getCreateDate() ) { holder.tvDate.setText(DateUtil.getTimeStamp(userBean.getCreateDate(), DateUtil.YY_MM_DD)); } // holder.tvDate.setText(userBean.getMobileNumber() == null?"":userBean.getMobileNumber()); } convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, ShowDetail.class); intent.putExtra("guid", userBean.getGuid()); intent.putExtra("flag", flag); startActivity(intent); } }); return convertView; } } class ViewHolder { public TextView tvTitle; public TextView tvDate; } @Override protected void onDestroy() { super.onDestroy(); } }