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