package com.itbox.grzl.activity;
import handmark.pulltorefresh.library.PullToRefreshListView;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.widget.CursorAdapter;
import android.view.View;
import android.widget.AdapterView;
import android.widget.TextView;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import com.activeandroid.query.Delete;
import com.baoyz.pg.PG;
import com.itbox.grzl.AppContext;
import com.itbox.grzl.adapter.UserProblemAdapter;
import com.itbox.grzl.bean.UserProblem;
import com.itbox.grzl.engine.ConsultationEngine;
import com.itbox.grzl.engine.ConsultationEngine.UserProblemItem;
import com.zhaoliewang.grzl.R;
/**
* 免费咨询页面
*
* @author baoboy
* @date 2014-5-24下午11:22:30
*/
public class ConsultationFreeActivity extends BaseLoadActivity<UserProblem> {
private static final String[] ORDER = new String[] { "时间正序", "时间倒序" };
@InjectView(R.id.lv_list)
protected PullToRefreshListView mListView;
@InjectView(R.id.tv_type)
TextView tv_type;
@InjectView(R.id.tv_order)
TextView tv_order;
@InjectView(R.id.tv_empty)
protected View mEmptyView;
private CursorAdapter mAdapter;
private String jobType = "";
private String orderBy = "0";
private String[] jobNames = AppContext.getJobNameArray();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_consultation_free);
ButterKnife.inject(this);
initView();
}
private void initView() {
setTitle("免费咨询");
showLeftBackButton();
mAdapter = new UserProblemAdapter(this, null);
new Delete().from(UserProblem.class).execute();
mListView.setEmptyView(mEmptyView);
initLoad(mListView, mAdapter, UserProblem.class);
tv_order.setText(ORDER[0]);
tv_type.setText(jobNames[0]);
}
@OnClick({ R.id.tv_type, R.id.tv_order })
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_order:
// 选择排序
new AlertDialog.Builder(this).setItems(ORDER,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
orderBy = which + "";
tv_order.setText(ORDER[which]);
startSearch();
}
}).show();
break;
case R.id.tv_type:
// 选择类型
AlertDialog.Builder builder = new Builder(this);
builder.setItems(jobNames, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
jobType = (arg1 + 1) + "";
tv_type.setText(jobNames[arg1]);
startSearch();
}
}).show();
break;
}
}
private void startSearch() {
showProgressDialog("正在搜索...");
loadFirstData();
}
@Override
protected void loadData(final int page) {
ConsultationEngine.searchFree(orderBy, jobType, page,
new LoadResponseHandler<UserProblemItem>(this,
UserProblemItem.class) {
@Override
public void onSuccess(UserProblemItem object) {
saveData(page, object.getUserProblemItem());
}
@Override
public void onFailure(Throwable e, int statusCode,
String content) {
super.onFailure(e, statusCode, content);
if (page == 1 && statusCode == 400) {
new Delete().from(UserProblem.class).execute();
}
}
});
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
UserProblem bean = new UserProblem();
bean.loadFromCursor((Cursor) mAdapter.getItem(position - 1));
Intent intent = new Intent(this, ConsultationFreeDetailActivity.class);
intent.putExtra("bean", PG.convertParcelable(bean));
startActivity(intent);
}
}