package com.quark.us;
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.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
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.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import com.qingmu.jianzhidaren.R;
import com.quark.adapter.UserJianzhitAdapter;
import com.quark.common.JsonUtil;
import com.quark.common.Url;
import com.quark.guangchang.ActivityDetialActivity;
import com.quark.jianzhidaren.BaseActivity;
import com.parttime.main.MainTabActivity;
import com.quark.model.MyJianZhiModle;
/**
* 我的兼职
*
* @author
*
*/
public class MyJianZhiActivity extends BaseActivity implements
IXListViewListener {
static View findLayout;
ArrayList<MyJianZhiModle> lists1 = new ArrayList<MyJianZhiModle>();
ArrayList<MyJianZhiModle> lists2 = new ArrayList<MyJianZhiModle>();
ArrayList<MyJianZhiModle> lists3 = new ArrayList<MyJianZhiModle>();
ArrayList<MyJianZhiModle> lists4 = new ArrayList<MyJianZhiModle>();
XListView list1;
XListView list2;
XListView list3;
XListView list4;
private UserJianzhitAdapter adpter1;
private UserJianzhitAdapter adpter2;
private UserJianzhitAdapter adpter3;
private UserJianzhitAdapter adpter4;
private String dataUrl;
private int type = 1; // type:1-全部、2-已录取、3-待录取、4-被拒绝
int pageNumber = 1;
int pageNumber1 = 1;
int pageNumber2 = 1;
int pageNumber3 = 1;
int pageNumber4 = 1;
int currentCount1 = 1;
int currentCount2 = 1;
int currentCount3 = 1;
int currentCount4 = 1;
int page_size = 5;
private String user_id;
@ViewInject(R.id.all_text)
TextView all_text;
@ViewInject(R.id.all_img)
ImageView all_img;
@ViewInject(R.id.agree_text)
TextView agree_text;
@ViewInject(R.id.agree_img)
ImageView agree_img;
@ViewInject(R.id.wait_text)
TextView wait_text;
@ViewInject(R.id.wait_img)
ImageView wait_img;
@ViewInject(R.id.reject_text)
TextView reject_text;
@ViewInject(R.id.reject_img)
ImageView reject_img;
@ViewInject(R.id.nodata_img)
ImageView nodata_img;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.me_jianzhi);
setTopTitle("我的兼职");
ViewUtils.inject(this);
setBackButton();
dataUrl = Url.COMPANY_requireActivity + "?token=" + MainTabActivity.token;
SharedPreferences sp = getSharedPreferences("jrdr.setting",
MODE_PRIVATE);
user_id = sp.getString("userId", "");
list1 = (XListView) findViewById(R.id.list1);
list2 = (XListView) findViewById(R.id.list2);
list3 = (XListView) findViewById(R.id.list3);
list4 = (XListView) findViewById(R.id.list4);
list1.setPullLoadEnable(true);
list1.setPullRefreshEnable(true);
list2.setPullLoadEnable(true);
list2.setPullRefreshEnable(true);
list3.setPullLoadEnable(true);
list3.setPullRefreshEnable(true);
list4.setPullLoadEnable(true);
list4.setPullRefreshEnable(true);
list1.setXListViewListener(this);
list2.setXListViewListener(this);
list3.setXListViewListener(this);
list4.setXListViewListener(this);
list1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int position, long id) {
// 网络异常加载造成outofbound异常
if (lists1 != null && lists1.size() > 0 && position >= 1) {
Intent intent = new Intent();
intent.setClass(MyJianZhiActivity.this,
ActivityDetialActivity.class);
intent.putExtra("activity_id", lists1.get(position - 1)
.getActivity_id() + "");
intent.putExtra("isComeFromGuangChang", false);
startActivity(intent);
}
}
});
list2.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int position, long id) {
// 网络异常加载造成outofbound异常
if (lists2 != null && lists2.size() > 0 && position >= 1) {
Intent intent = new Intent();
intent.setClass(MyJianZhiActivity.this,
ActivityDetialActivity.class);
intent.putExtra("activity_id", lists2.get(position - 1)
.getActivity_id() + "");
intent.putExtra("isComeFromGuangChang", false);
startActivity(intent);
}
}
});
list3.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int position, long id) {
// 网络异常加载造成outofbound异常
if (lists3 != null && lists3.size() > 0 && position >= 1) {
Intent intent = new Intent();
intent.setClass(MyJianZhiActivity.this,
ActivityDetialActivity.class);
intent.putExtra("activity_id", lists3.get(position - 1)
.getActivity_id() + "");
intent.putExtra("isComeFromGuangChang", false);
startActivity(intent);
}
}
});
list4.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int position, long id) {
// 网络异常加载造成outofbound异常
if (lists4 != null && lists4.size() > 0 && position >= 1) {
Intent intent = new Intent();
intent.setClass(MyJianZhiActivity.this,
ActivityDetialActivity.class);
intent.putExtra("activity_id", lists4.get(position - 1)
.getActivity_id() + "");
intent.putExtra("isComeFromGuangChang", false);
startActivity(intent);
}
}
});
}
/**
* 清空数据链表
*/
private void init_lists() {
lists1 = new ArrayList<MyJianZhiModle>();
lists2 = new ArrayList<MyJianZhiModle>();
lists3 = new ArrayList<MyJianZhiModle>();
lists4 = new ArrayList<MyJianZhiModle>();
}
@Override
protected void onResume() {
super.onResume();
// carson修改,点击兼职详情取消了兼职后能实时刷新数据
init_lists();// 置空数据链表
pageNumber = 1;
getData();
adpter1 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists1);
list1.setAdapter(adpter1);
adpter2 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists2);
list2.setAdapter(adpter2);
adpter3 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists3);
list3.setAdapter(adpter3);
adpter4 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists4);
list4.setAdapter(adpter4);
}
@OnClick({ R.id.all_text, R.id.wait_text, R.id.agree_text, R.id.reject_text })
public void setStatusOnclick(View view) {
switch (view.getId()) {
case R.id.all_text:
lists1.removeAll(lists1);
// pageNumber = pageNumber1;
pageNumber = 1;
type = 1;
adpter1.notifyDataSetChanged();
getData();
setStatus(all_text, all_img);
list1.setVisibility(View.VISIBLE);
list2.setVisibility(View.GONE);
list3.setVisibility(View.GONE);
list4.setVisibility(View.GONE);
break;
case R.id.agree_text:
lists2.removeAll(lists2);
// pageNumber = pageNumber2;
pageNumber = 1;
type = 2;
adpter2.notifyDataSetChanged();
getData();
nodata_img.setVisibility(View.GONE);
setStatus(agree_text, agree_img);
list1.setVisibility(View.GONE);
list2.setVisibility(View.VISIBLE);
list3.setVisibility(View.GONE);
list4.setVisibility(View.GONE);
break;
case R.id.wait_text:
lists3.removeAll(lists3);
// pageNumber = pageNumber3;
pageNumber = 1;
type = 3;
adpter3.notifyDataSetChanged();
getData();
nodata_img.setVisibility(View.GONE);
setStatus(wait_text, wait_img);
list1.setVisibility(View.GONE);
list2.setVisibility(View.GONE);
list3.setVisibility(View.VISIBLE);
list4.setVisibility(View.GONE);
break;
case R.id.reject_text:
lists4.removeAll(lists4);
// pageNumber = pageNumber4;
pageNumber = 1;
type = 4;
adpter4.notifyDataSetChanged();
getData();
nodata_img.setVisibility(View.GONE);
setStatus(reject_text, reject_img);
list1.setVisibility(View.GONE);
list2.setVisibility(View.GONE);
list3.setVisibility(View.GONE);
list4.setVisibility(View.VISIBLE);
break;
default:
break;
}
}
// ==========修改head状态=============
public void setStatus(TextView textView, ImageView img) {
clearStatus();
textView.setTextColor(getResources().getColor(R.color.ziti_orange));
img.setBackgroundColor(getResources().getColor(R.color.head_color));
}
public void clearStatus() {
all_text.setTextColor(getResources().getColor(R.color.ziti_huise));
wait_text.setTextColor(getResources().getColor(R.color.ziti_huise));
agree_text.setTextColor(getResources().getColor(R.color.ziti_huise));
reject_text.setTextColor(getResources().getColor(R.color.ziti_huise));
all_img.setBackgroundColor(getResources().getColor(R.color.nav_huise));
wait_img.setBackgroundColor(getResources().getColor(R.color.nav_huise));
agree_img
.setBackgroundColor(getResources().getColor(R.color.nav_huise));
reject_img.setBackgroundColor(getResources()
.getColor(R.color.nav_huise));
}
// ====修改head状态end===========
// ========================xlist=================================================
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (type == 1) {
list1.setLoadOver(currentCount1, page_size);// 用于是否加载完了
adpter1.notifyDataSetChanged();
} else if (type == 2) {
list2.setLoadOver(currentCount2, page_size);// 用于是否加载完了
adpter2.notifyDataSetChanged();
} else if (type == 3) {
list3.setLoadOver(currentCount3, page_size); // 用于是否加载完了
adpter3.notifyDataSetChanged();
} else if (type == 4) {
list4.setLoadOver(currentCount4, page_size);// 用于是否加载完了
adpter4.notifyDataSetChanged();
}
onLoad();
};
};
private void onLoad() {
if (type == 1) {
list1.stopRefresh();
list1.stopLoadMore();
list1.setRefreshTime("刚刚");
} else if (type == 2) {
list2.stopRefresh();
list2.stopLoadMore();
list2.setRefreshTime("刚刚");
} else if (type == 3) {
list3.stopRefresh();
list3.stopLoadMore();
list3.setRefreshTime("刚刚");
} else if (type == 4) {
list4.stopRefresh();
list4.stopLoadMore();
list4.setRefreshTime("刚刚");
}
}
@Override
public void onRefresh() {
if (type == 1) {
pageNumber1 = 1;
pageNumber = pageNumber1;
lists1.clear();
getData();
// mAdapter.notifyDataSetChanged();
adpter1 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists1);
list1.setAdapter(adpter1);
} else if (type == 2) {
pageNumber2 = 1;
pageNumber = pageNumber2;
lists2.clear();
getData();
// mAdapter.notifyDataSetChanged();
adpter2 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists2);
list2.setAdapter(adpter2);
} else if (type == 3) {
pageNumber3 = 1;
pageNumber = pageNumber3;
lists3.clear();
getData();
// mAdapter.notifyDataSetChanged();
adpter3 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists3);
list3.setAdapter(adpter3);
} else if (type == 4) {
pageNumber4 = 1;
pageNumber = pageNumber4;
lists4.clear();
getData();
// mAdapter.notifyDataSetChanged();
adpter4 = new UserJianzhitAdapter(MyJianZhiActivity.this, lists4);
list4.setAdapter(adpter4);
}
}
@Override
public void onLoadMore() {
if (type == 1) {
pageNumber1++;
pageNumber = pageNumber1;
} else if (type == 2) {
pageNumber2++;
pageNumber = pageNumber2;
} else if (type == 3) {
pageNumber3++;
pageNumber = pageNumber3;
} else if (type == 4) {
pageNumber4++;
pageNumber = pageNumber4;
}
getData();
}
// ======xlist end============
public void getData() {
showWait(true);
StringRequest request = new StringRequest(Request.Method.POST, dataUrl,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showWait(false);
try {
JSONObject js = new JSONObject(response);
JSONObject jss = js
.getJSONObject("MyRequireActivityResponse");
JSONArray ls = jss.getJSONArray("list");
if (type == 1) {
if (ls.length() > 0) {
nodata_img.setVisibility(View.GONE);
list1.setVisibility(View.VISIBLE);
for (int i = 0; i < ls.length(); i++) {
MyJianZhiModle jianzhi = new MyJianZhiModle();
jianzhi = (MyJianZhiModle) JsonUtil
.jsonToBean(
ls.getJSONObject(i),
MyJianZhiModle.class);
lists1.add(jianzhi);
}
}
currentCount1 = ls.length();
}
if (type == 2) {
if (ls.length() > 0) {
for (int i = 0; i < ls.length(); i++) {
MyJianZhiModle jianzhi = new MyJianZhiModle();
jianzhi = (MyJianZhiModle) JsonUtil
.jsonToBean(
ls.getJSONObject(i),
MyJianZhiModle.class);
lists2.add(jianzhi);
}
}
currentCount2 = ls.length();
}
if (type == 3) {
if (ls.length() > 0) {
for (int i = 0; i < ls.length(); i++) {
MyJianZhiModle jianzhi = new MyJianZhiModle();
jianzhi = (MyJianZhiModle) JsonUtil
.jsonToBean(
ls.getJSONObject(i),
MyJianZhiModle.class);
lists3.add(jianzhi);
}
}
currentCount3 = ls.length();
}
if (type == 4) {
if (ls.length() > 0) {
for (int i = 0; i < ls.length(); i++) {
MyJianZhiModle jianzhi = new MyJianZhiModle();
jianzhi = (MyJianZhiModle) JsonUtil
.jsonToBean(
ls.getJSONObject(i),
MyJianZhiModle.class);
lists4.add(jianzhi);
}
}
currentCount4 = ls.length();
}
Message msg = handler.obtainMessage();
msg.what = 20;
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("user_id", user_id);
map.put("page_size", page_size + "");
map.put("pn", pageNumber + "");
map.put("type", type + "");
return map;
}
};
queue.add(request);
request.setRetryPolicy(new DefaultRetryPolicy(
ConstantForSaveList.DEFAULTRETRYTIME * 1000, 1, 1.0f));
}
}