package com.yizhao.activity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import com.yizhao.action.ProductAction;
import com.yizhao.adapter.ReceiveAdapter;
import com.yizhao.bean.AuthBean;
import com.yizhao.bean.ReceiveBean;
import com.yizhao.core.AsyncWorkHandler;
import com.yizhao.core.Const;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class ReceiveActivity extends Activity{
private Context _context;
private TextView receive_count;
private ListView receive_listview;
private ReceiveAdapter receiveAdapter;
private LayoutInflater inflater;
private View footer;
private Intent _intent;
private String pid;
private int curpage = 1;//当前页
private int pages = 1;//共多少页
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.receive);
super.onCreate(savedInstanceState);
_context = this;
_intent = this.getIntent();
inflater = LayoutInflater.from(_context);
footer = inflater.inflate(R.layout.receive_footer, null);
receive_listview = (ListView)findViewById(R.id.receive_listview);
receive_listview.addFooterView(footer);
pid = _intent.getStringExtra("product_id");
receive_count = (TextView)findViewById(R.id.receive_count);
//第一次拉取数据(异步)
showDialog(Const.PROGRESSBAR_WAIT);
Map<String,String> param = new HashMap<String,String>();
param.put("product_id", pid);
param.put("p", "1");
AsyncWorkHandler asyncQueryHandler = new AsyncWorkHandler(){
@Override
public Object excute(Map<String, String> map) {
return ProductAction.getProductReceive(map);
}
@Override
public void handleMessage(Message msg) {
if(msg.obj!=null){
ReceiveBean bean = (ReceiveBean)msg.obj;
if("true".equals(bean.getResult())){
pages = (bean.getReviews()%Const.PAGE_SIZE_INT == 0) ? bean.getReviews()/Const.PAGE_SIZE_INT : bean.getReviews()/Const.PAGE_SIZE_INT+1;
int count = bean.getReviews();
receive_count.setText(count+"条");
ArrayList<AuthBean> fileList = bean.getFileList();
receiveAdapter = new ReceiveAdapter(_context);
receiveAdapter.setReceiveList(fileList);
if(receiveAdapter!=null){
receive_listview.setAdapter(receiveAdapter);
}
_intent.putExtra("status", true);
}
}
removeDialog(Const.PROGRESSBAR_WAIT);
}
};
asyncQueryHandler.doWork(param);
//查看更多
footer.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
if(curpage < pages){
int cur = curpage+1;
AsyncWorkHandler asyncQueryHandler = new AsyncWorkHandler(){
@Override
public Object excute(Map<String, String> map) {
return ProductAction.getProductReceive(map);
}
@Override
public void handleMessage(Message msg) {
if(msg.obj!=null){
ReceiveBean bean = (ReceiveBean)msg.obj;
if("true".equals(bean.getResult())){
ArrayList<AuthBean> tmpList = bean.getFileList();
if(tmpList!=null && tmpList.size() > 0){
curpage++;
receiveAdapter.containsList(tmpList);
Log.d(Const.TAG, "ReceiveActivity.AsyncWork|curpage="+curpage+",pages="+pages+",receiveAdapter.fileList.size="+receiveAdapter.getReceiveList().size());
receiveAdapter.notifyDataSetChanged();
}
}
}
removeDialog(Const.PROGRESSBAR_WAIT);
}
};
//异步获取信息
showDialog(Const.PROGRESSBAR_WAIT);
Map<String,String> param = new HashMap<String,String>();
param.put("product_id", pid);
param.put("p", ""+cur);
asyncQueryHandler.doWork(param);
}else{
Toast.makeText(_context, "已经到最后一页", Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case Const.PROGRESSBAR_WAIT:
ProgressDialog wait_pd = new ProgressDialog(this);
wait_pd.setMessage(Const.LOADING);
return wait_pd;
}
return null;
}
}