package com.partynetwork.iparty.personal; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.Iparty_getPartyArrayRequest; import com.partynetwork.dataprovider.json.struct.Iparty_getPartyArrayResponse; import com.partynetwork.dataprovider.util.ActionUtil; import com.partynetwork.dataprovider.util.Util; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.app.common.BitmapManager; import com.partynetwork.iparty.info.IpartyInfo; import com.partynetwork.iparty.iparty.IpartyView; public class PartyFragment extends Fragment implements IJsonResultListener, OnClickListener { private View mView; /** * 中间显示体 */ private LinearLayout content; /** * 点击加载更多 */ private TextView moreTv; /** 主页的请求实体对象 */ private Iparty_getPartyArrayRequest request; /** 最后一条数据的id */ private int lastId; /** 页码编号 */ private int pageNumber = 0; /** 每页的数据大小 */ private int pageSize = 5; private BitmapManager bitmapManager; /** * 覆盖方法 * * @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, * android.view.ViewGroup, android.os.Bundle) */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mView = inflater.inflate(R.layout.personal_party, container, false); initView(); bitmapManager=new BitmapManager(); sendRequest(); return mView; } private void initView() { content = (LinearLayout) mView.findViewById(R.id.content_ll); moreTv = (TextView) mView.findViewById(R.id.more_tv); moreTv.setOnClickListener(this); } /** * 设置用户Id * * @param userId */ public void setUserId(int userId) { if (request == null) { request = new Iparty_getPartyArrayRequest(); } request.setUserId(userId); } /** * 发送请求 */ private void sendRequest() { if (request == null) { request = new Iparty_getPartyArrayRequest(); } request.setIpartyType(ActionUtil.Iparty.IPARTY_PULLDOWN_MY); request.setLastId(lastId); request.setPageNumber(pageNumber); request.setPageSize(pageSize); AppContext.getInstance().getmDataProvider().getJsonFromNetwork(request, this); } /** * 事件监听 * * @param view */ public void onClick(View view) { switch (view.getId()) { case R.id.more_tv: sendRequest(); break; default: break; } } public void onNetworkRequest() { // TODO 自动生成的方法存根 } public void onResultSuccess(NetworkEntity entity) { if (entity.getRequest().getAction() .equals(new Iparty_getPartyArrayRequest().getAction())) { Iparty_getPartyArrayResponse arrayResponse = (Iparty_getPartyArrayResponse) entity .getResponse(); IpartyInfo[] infoArray = arrayResponse.getDetails(); if (infoArray == null || infoArray.length == 0) { moreTv.setVisibility(View.GONE); return; } pageNumber = Integer.parseInt(arrayResponse.getDescription()); for (int i = 0; i < infoArray.length; i++) { IpartyView ipartyView = new IpartyView(getActivity(),bitmapManager); ipartyView.setInfo(infoArray[i]); content.addView(ipartyView); if (i == infoArray.length - 1) { lastId = infoArray[i].getIpartyId(); } } } } public void onResultFail(String result) { Util.showMsg(getActivity(), result); } }