package com.quark.guangchang;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.volley.AuthFailureError;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.carson.constant.ConstantForSaveList;
import com.qingmu.jianzhidaren.R;
import com.quark.adapter.GuangchangListAdapter;
import com.quark.common.JsonUtil;
import com.quark.common.Url;
import com.quark.jianzhidaren.BaseActivity;
import com.parttime.main.MainTabActivity;
import com.quark.model.GuangchangModle;
import com.quark.ui.widget.CommonWidget;
/**
*
* @ClassName: SearchResult
* @Description: 搜索结果
* @author howe
* @date 2015-1-27 上午11:49:07
*
*/
public class SearchResult extends BaseActivity implements IXListViewListener {
private GuangchangListAdapter adapter;
static XListView listView;
static View findLayout;
ArrayList<GuangchangModle> jianzhis = new ArrayList<GuangchangModle>();
int pageNumber = 1;
int currentCount = 1;
int page_size = 5;
private String url;
private String user_id;
String choosetimeStr;
String chooseCityStr;
String chooseTypeStr;
String choosePayTypeStr;
boolean newJianZhiFlag = true;// true最新 false 最近
double lat, lng;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.guangchang_search_result);
LinearLayout left = (LinearLayout) findViewById(R.id.left);
left.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
SharedPreferences sp = getSharedPreferences("jrdr.setting",
MODE_PRIVATE);
user_id = sp.getString("userId", "");
url = Url.COMPANY_filter + "?token=" + MainTabActivity.token;
choosetimeStr = getIntent().getStringExtra("choosetimeStr");
chooseCityStr = getIntent().getStringExtra("chooseCityStr");
chooseTypeStr = getIntent().getStringExtra("chooseTypeStr");
choosePayTypeStr = getIntent().getStringExtra("choosePayTypeStr");
newJianZhiFlag = getIntent()
.getBooleanExtra("choose_filter_type", true);
// 获取经纬度
if (!newJianZhiFlag) {
lat = getIntent().getDoubleExtra("choose_lat", 0);
lng = getIntent().getDoubleExtra("choose_lng", 0);
}
getData();
listView = (XListView) findViewById(R.id.list1);
listView.setPullLoadEnable(true);
adapter = new GuangchangListAdapter(this, jianzhis);
listView.setAdapter(adapter);
listView.setXListViewListener(this);
// 点击效果
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int position, long id) {
if (user_id.equals("")) {
CommonWidget.showAlertDialog(SearchResult.this,
SearchResult.this, "您还没有登陆,注册登陆后才可以查看哦!", "温馨提示",
"随便看看");
} else {
if (jianzhis != null && jianzhis.size() > 0 && position > 0) {
Intent intent = new Intent();
intent.setClass(SearchResult.this,
ActivityDetialActivity.class);
intent.putExtra("activity_id",
jianzhis.get(position - 1).getActivity_id()
+ "");
startActivity(intent);
}
}
}
});
TextView right = (TextView) findViewById(R.id.right);
right.setOnClickListener(saixuanListener);
}
View.OnClickListener saixuanListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(SearchResult.this, SaiXuanActivity.class);
startActivity(intent);
}
};
public void getData() {
showWait(true);
StringRequest request = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showWait(false);
try {
JSONObject js = new JSONObject(response);
JSONObject jss = js
.getJSONObject("ActivityResponse");
JSONArray jsss = jss.getJSONArray("list");
if (jsss.length() > 0) {
for (int i = 0; i < jsss.length(); i++) {
GuangchangModle jianzhi = new GuangchangModle();
jianzhi = (GuangchangModle) JsonUtil
.jsonToBean(jsss.getJSONObject(i),
GuangchangModle.class);
jianzhis.add(jianzhi);
}
}
currentCount = jsss.length();
Message msg = handler.obtainMessage();
msg.what = 1;
handler.sendMessage(msg);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
showWait(false);
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<String, String>();
map.put("time", choosetimeStr);
map.put("county", chooseCityStr);
map.put("type", chooseTypeStr);
map.put("pay_form", choosePayTypeStr);
if (newJianZhiFlag) {
map.put("filter_type", "0");
} else {
map.put("filter_type", "1");
map.put("lat", String.valueOf(lat));
map.put("lng", String.valueOf(lng));
}
map.put("page_size", page_size + "");
map.put("pn", pageNumber + "");
return map;
}
};
queue.add(request);
request.setRetryPolicy(new DefaultRetryPolicy(
ConstantForSaveList.DEFAULTRETRYTIME * 1000, 1, 1.0f));
}
// ========================xlist=================================================
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
listView.setLoadOver(currentCount, page_size);// 用于是否加载完了
adapter.notifyDataSetChanged();
onLoad();
};
};
private void onLoad() {
listView.stopRefresh();
listView.stopLoadMore();
listView.setRefreshTime("刚刚");
}
@Override
public void onRefresh() {
pageNumber = 1;
jianzhis.clear();
getData();
// mAdapter.notifyDataSetChanged();
adapter = new GuangchangListAdapter(this, jianzhis);
listView.setAdapter(adapter);
}
@Override
public void onLoadMore() {
pageNumber++;
getData();
}
// ======xlist end============
}