package com.jaf.biubiu;
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.jaf.bean.BeanUnionItem;
import com.jaf.bean.ResponseTopic;
import com.jaf.jcore.*;
import org.json.JSONObject;
import java.util.ArrayList;
public class ActivityMyUnion extends BaseActionBarActivity {
@BindView(id = R.id.myUnionList)
private NetworkListView<ViewUnionItemView, BeanUnionItem> mNetworkListView;
private AbsWorker.AbsLoader<ViewUnionItemView,BeanUnionItem> loader;
public static void start(Activity activity) {
activity.startActivity(new Intent(activity, ActivityMyUnion.class));
}
@Override
protected int onLoadViewResource() {
return R.layout.activity_my_union;
}
@Override
protected void onViewDidLoad(Bundle savedInstanceState) {
loader = new AbsWorker.AbsLoader<ViewUnionItemView, BeanUnionItem>() {
@Override
public String parseNextUrl(JSONObject response) {
return Constant.API;
}
@Override
public JSONObject parseNextJSON(JSONObject response) {
ResponseTopic responseTopic = JacksonWrapper.json2Bean(response, ResponseTopic.class);
ArrayList<BeanUnionItem> data = responseTopic.getReturnData().getContData();
if(data.size() > 0 ) {
int lastId = data.get(data.size() - 1).getSortId();
return U.buildTopic(false, lastId, 2);
}
return null;
}
@Override
public ArrayList<BeanUnionItem> parseJSON2ArrayList(JSONObject response) {
ResponseTopic responseTopic = JacksonWrapper.json2Bean(response, ResponseTopic.class);
L.dbg("TOPIC : " + response);
if (responseTopic != null && responseTopic.getReturnData() != null) {
return responseTopic.getReturnData().getContData();
}else {
return null;
}
}
@Override
public void updateItemUI(int position, final BeanUnionItem data, ViewUnionItemView itemView) {
itemView.setData(data);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityUnionTopic.Extra extra = new ActivityUnionTopic.Extra();
extra.fromTopic = U.buildTopicQuestionListArg(data.getUnionId());
extra.topicTitle = data.getUnionName();
ActivityUnionTopic.start(ActivityMyUnion.this, extra);
}
});
}
@Override
public ViewUnionItemView makeItem(LayoutInflater inflater, int position, View convertView, ViewGroup parent) {
return new ViewUnionItemView(ActivityMyUnion.this);
}
};
mNetworkListView.request(Constant.API, loader, U.buildTopic(true, 0, 2));
mNetworkListView.setEmptyView(EmptyHelper.getEmptyView(this, R.drawable.bg_nearby_empty, R.string.youHasNoUnion));
}
}