package com.partynetwork.iparty.assistant; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.TableLayout.LayoutParams; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.Assistant_getOrderArrayRequest; import com.partynetwork.dataprovider.json.struct.Assistant_getOrderArrayResponse; import com.partynetwork.dataprovider.json.struct.Assistant_getPartyArrayRequest; import com.partynetwork.dataprovider.json.struct.Assistant_getPartyArrayResponse; import com.partynetwork.dataprovider.util.T; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.helper.IntentHelper; import com.partynetwork.iparty.info.AssistantPartyInfo; import com.partynetwork.iparty.info.OrderInfo; import com.partynetwork.myview.mytoast.BothPopup; public class AssistantInfoActivity extends Activity implements IJsonResultListener { public static final String PARTY_TYPE = "partyType"; public static final int PARTY_INTERESTED = 0; public static final int PARTY_PARTING = 1; public static final int PARTY_CLOSE = 2; public static final int PARTY_WAIT = 3; public static final int PARTY_EVALUATE = 4; public static final int PARTY_REFUND = 5; @ViewInject(R.id.menu_head_left) private LinearLayout backBtn; @ViewInject(R.id.menu_head_right) private RelativeLayout rightBtn; @ViewInject(R.id.menu_head_middle_text) private TextView headTitle; @ViewInject(R.id.menu_head_right_tv) private TextView rightTv; @ViewInject(R.id.listview) private ListView listView; private AssistantInfoAdapter messageInfoAdapter; private BothPopup mBothPopup; private int partyType; private AssistantPartyInfo[] partyInfoArray; private OrderInfo[] orderInfoArray; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.message_info); ViewUtils.inject(this); init(); } private void init() { mBothPopup = new BothPopup(this); partyType = getIntent().getIntExtra(PARTY_TYPE, 0); rightBtn.setVisibility(View.INVISIBLE); initView(); initData(); setListener(); } private void initView() { TextView emptyView = new TextView(this); emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); emptyView.setText("暂无记录"); emptyView.setGravity(Gravity.CENTER); ((ViewGroup) listView.getParent()).addView(emptyView); listView.setEmptyView(emptyView); } private void setListener() { listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (partyType < 3) { if (partyInfoArray != null) { IntentHelper.goPartyInfoActivity( AssistantInfoActivity.this, partyInfoArray[position].getIpartyId()); } } else { if (orderInfoArray != null) { IntentHelper.goOrderInfoActivity( AssistantInfoActivity.this, orderInfoArray[position].getOrderId()); } } } }); } /** * 初始化数据 */ private void initData() { String title = ""; switch (partyType) { case PARTY_INTERESTED: title = "感兴趣的Party"; break; case PARTY_PARTING: title = "发布中的Party"; break; case PARTY_CLOSE: title = "已结束的Party"; break; case PARTY_WAIT: title = "待参加的Party"; break; case PARTY_EVALUATE: title = "待评价的Party"; break; case PARTY_REFUND: title = "退款申请"; break; default: title = "待评价的Party"; break; } // 名称 this.headTitle.setText(title); } /** * 发送请求 */ private void sendRequest() { AppContext context = (AppContext) getApplication(); if (partyType < 3) { Assistant_getPartyArrayRequest request = new Assistant_getPartyArrayRequest(); request.setUserId(context.getLoginUid()); request.setPartyType(partyType); AppContext.getInstance().getmDataProvider() .getJsonFromNetwork(request, this); } else { Assistant_getOrderArrayRequest request = new Assistant_getOrderArrayRequest(); request.setOrderType(partyType - 3); request.setUserId(context.getLoginUid()); request.setUserType(0); AppContext.getInstance().getmDataProvider() .getJsonFromNetwork(request, this); } } /** * 事件监听 * * @param view */ @OnClick({ R.id.menu_head_left, R.id.menu_head_right }) public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 关闭 finish(); break; case R.id.menu_head_right: // 清空 mBothPopup.setTitle("清空操作将删除所有记录\n你确定要清空吗?"); mBothPopup.setListener(new OnClickListener() { @Override public void onClick(View v) { deleteAll(); finish(); } }); mBothPopup.showAtLocation(headTitle); break; default: break; } } /** * 删除所有本分类下的消息记录 */ private void deleteAll() { } /** * 覆盖方法 * * @see android.app.Activity#onResume() */ @Override protected void onResume() { super.onResume(); sendRequest(); } public void onNetworkRequest() { } public void onResultSuccess(NetworkEntity entity) { /** Party */ if (entity.getRequest().getAction() .equals(new Assistant_getPartyArrayRequest().getAction())) { Assistant_getPartyArrayResponse mResponse = (Assistant_getPartyArrayResponse) entity .getResponse(); partyInfoArray = mResponse.getDetails(); if (partyInfoArray != null) { messageInfoAdapter = new AssistantInfoAdapter(this, partyInfoArray); listView.setAdapter(messageInfoAdapter); } } /** 订单 */ if (entity.getRequest().getAction() .equals(new Assistant_getOrderArrayRequest().getAction())) { Assistant_getOrderArrayResponse mResponse = (Assistant_getOrderArrayResponse) entity .getResponse(); orderInfoArray = mResponse.getDetails(); if (orderInfoArray != null) { messageInfoAdapter = new AssistantInfoAdapter(this, orderInfoArray); listView.setAdapter(messageInfoAdapter); } } } public void onResultFail(String result) { T.showTips(this, R.drawable.tips_error, result); } }