package com.parttime.publish;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import com.android.volley.VolleyError;
import com.parttime.common.head.ActivityHead;
import com.parttime.net.DefaultCallback;
import com.parttime.net.PublishRequest;
import com.parttime.net.ResponseBaseCommonError;
import com.parttime.publish.adapter.JobPlazaListAdapter;
import com.parttime.publish.vo.JobPlazaActivityListVo;
import com.parttime.utils.IntentManager;
import com.parttime.widget.BaseXListView;
import com.qingmu.jianzhidaren.R;
import com.quark.jianzhidaren.BaseActivity;
import me.maxwin.view.XListView;
/**
* 兼职广场
* Created by wyw on 2015/8/2.
*/
public class JobPlazaActivity extends BaseActivity implements AdapterView.OnItemClickListener, XListView.IXListViewListener {
public static final int PAGE_COUNT = 20;
private BaseXListView mListViewMain;
private JobPlazaListAdapter mAdapterMain;
private JobPlazaActivityListVo mCurrentVo;
private DefaultCallback mDefaultCallback = new DefaultCallback() {
@Override
public void success(Object obj) {
showWait(false);
mCurrentVo = (JobPlazaActivityListVo) obj;
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mCurrentVo.pageNumber == 1) {
mAdapterMain.setAll(mCurrentVo.jobPlazaListVoList);
mListViewMain.updateRefreshTime();
} else {
mAdapterMain.addAll(mCurrentVo.jobPlazaListVoList);
}
mListViewMain.setLoadOver(mCurrentVo.jobPlazaListVoList.size(), PAGE_COUNT);
mListViewMain.stopRefresh();
mListViewMain.stopLoadMore();
}
});
}
@Override
public void failed(Object obj) {
showWait(false);
if (obj instanceof ResponseBaseCommonError) {
ResponseBaseCommonError error = (ResponseBaseCommonError) obj;
showToast(error.msg);
} else if (obj instanceof VolleyError) {
VolleyError error = (VolleyError) obj;
showToast(error.getMessage());
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_job_plaza);
initControls();
bindListener();
bindData();
}
@Override
protected void onResume() {
super.onResume();
}
private void bindData() {
mAdapterMain = new JobPlazaListAdapter(this);
mListViewMain.setAdapter(mAdapterMain);
refreshFirstPage();
}
private void bindListener() {
mListViewMain.setOnItemClickListener(this);
mListViewMain.setXListViewListener(this);
}
private void initControls() {
mListViewMain = (BaseXListView) findViewById(R.id.listview_main);
ActivityHead activityHead = new ActivityHead(this);
activityHead.setCenterTxt1(R.string.job_plaza_title);
}
// 刷新第一页
private void refreshFirstPage() {
mCurrentVo = null;
showWait(true);
refreshListView();
}
private void loadMore() {
refreshListView();
}
private void refreshListView() {
new PublishRequest().plazaList(getNextPageNumber(), PAGE_COUNT, PublishRequest.PUBLISH_ACTIVITY_LIST_TYPE_UNDERCARRIAGE, queue, mDefaultCallback);
}
// 获取下一页页码
private int getNextPageNumber() {
return mCurrentVo == null ? 1 : mCurrentVo.pageNumber + 1;
}
@Override
public void setBackButton() {
super.setBackButton();
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
int position = i - 1;
if (position < mAdapterMain.getCount()) {
long jobId = mAdapterMain.getItemId(position);
IntentManager.openJobDetailActivity(this, (int) jobId, "");
} else {
showToast(R.string.error_date_and_refresh);
}
}
@Override
public void onRefresh() {
refreshFirstPage();
}
@Override
public void onLoadMore() {
loadMore();
}
}