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(); } }