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