package com.partynetwork.iparty.iparty;
import java.util.ArrayList;
import java.util.List;
import com.partynetwork.dataprovider.DataProvider.IJsonResultListener;
import com.partynetwork.dataprovider.json.NetworkEntity;
import com.partynetwork.dataprovider.json.struct.Assistant_getParticipantArrayRequest;
import com.partynetwork.dataprovider.json.struct.Assistant_getParticipantArrayResponse;
import com.partynetwork.dataprovider.util.T;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.iparty.info.OrderUserInfo;
import com.baidu.mobstat.StatService;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;
/**
* party参加者列表页面
* com.partynetwork.iparty.iparty.IpartyParticipantActivity
* @author 沈跃双
* Create at 2014-3-5 上午11:03:13
*/
public class IpartyParticipantActivity extends Activity implements
IJsonResultListener {
public static final String PARTY_ID = "partyId";
/**
* 未参加
*/
@ViewInject(R.id.type_normal)
private TextView typeNormal;
/**
* 已参加
*/
@ViewInject(R.id.type_ready)
private TextView typeReady;
/**
* 下方显示内容的listview
*/
@ViewInject(R.id.listview)
private ListView listview;
/** partyId */
private int partyId;
/**
* 存放当前显示好友
*/
private List<OrderUserInfo> filterDateList = new ArrayList<OrderUserInfo>();
/** 列表适配器 */
private IpartyParticipantAdapter adapter;
/** 当前的模式 */
private int participantPosition;
/** 数据源 */
private OrderUserInfo[] infoArray;
/**
* 覆盖方法
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.iparty_participant);
ViewUtils.inject(this);
init();
}
/**
* 初始化
*/
private void init() {
partyId = getIntent().getIntExtra(PARTY_ID, 0);
AppContext context=(AppContext) getApplication();
Assistant_getParticipantArrayRequest request = new Assistant_getParticipantArrayRequest();
request.setIpartyId(partyId);
request.setUserId(context.getLoginUid());
context.getmDataProvider().getJsonFromNetwork(request, this);
}
/**
* 点击事件监听
*
* @param v
*/
@OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.type_normal,
R.id.type_ready })
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 关闭当前举报窗口
finish();
break;
case R.id.menu_head_right:
// 查找
// sendSearchRequest();
break;
case R.id.type_normal:
// 查找
change(0);
break;
case R.id.type_ready:
// 查找
change(1);
break;
default:
break;
}
}
/**
* 选择
*
* @param position
*/
private void change(int position) {
participantPosition = position;
filterDateList.removeAll(filterDateList);
if (position == 0) {
typeNormal.setBackgroundColor(getResources().getColor(
R.color.blue_text));
typeNormal.setTextColor(Color.WHITE);
typeReady.setBackgroundResource(R.drawable.stroke_single_blue);
typeReady.setTextColor(getResources().getColor(R.color.blue_text));
if (infoArray != null) {
for (OrderUserInfo info : infoArray) {
if (info.getOrderAccomplishTime() == null
|| info.getOrderAccomplishTime().equals("")) {
filterDateList.add(info);
}
}
typeNormal.setText("未参加(" + filterDateList.size() + ")");
typeReady.setText("已参加(" + (infoArray.length-filterDateList.size()) + ")");
}
} else {
typeReady.setBackgroundColor(getResources().getColor(
R.color.blue_text));
typeReady.setTextColor(Color.WHITE);
typeNormal.setBackgroundResource(R.drawable.stroke_single_blue);
typeNormal.setTextColor(getResources().getColor(R.color.blue_text));
if (infoArray != null) {
for (OrderUserInfo info : infoArray) {
if (info.getOrderAccomplishTime() != null
&& !info.getOrderAccomplishTime().equals("")) {
filterDateList.add(info);
}
}
typeReady.setText("已参加(" + filterDateList.size() + ")");
typeNormal.setText("未参加(" + (infoArray.length-filterDateList.size()) + ")");
}
}
initListView();
}
/**
* 初始化listview
*/
private void initListView() {
adapter = new IpartyParticipantAdapter(this, filterDateList);
listview.setAdapter(adapter);
}
public void onNetworkRequest() {
// TODO 自动生成的方法存根
}
public void onResultSuccess(NetworkEntity entity) {
// 参加的用户
if (entity.getRequest().getAction()
.equals(new Assistant_getParticipantArrayRequest().getAction())) {
Assistant_getParticipantArrayResponse response = (Assistant_getParticipantArrayResponse) entity
.getResponse();
infoArray = response.getDetails();
change(participantPosition);
}
}
public void onResultFail(String result) {
T.showTips(this, R.drawable.tips_error, result);
}
@Override
protected void onResume() {
StatService.onResume(this);
super.onResume();
}
@Override
protected void onPause() {
StatService.onPause(this);
super.onPause();
}
}