package com.snail.travellingTrail.socialIntercourse.controller;
import java.lang.reflect.Type;
import java.util.ArrayList;
import net.tsz.afinal.FinalHttp;
import net.tsz.afinal.http.AjaxCallBack;
import zrc.widget.SimpleFooter;
import zrc.widget.SimpleHeader;
import zrc.widget.ZrcListView;
import zrc.widget.ZrcListView.OnItemClickListener;
import zrc.widget.ZrcListView.OnStartListener;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.snail.travellingTrail.R;
import com.snail.travellingTrail.common.RequestAddress;
import com.snail.travellingTrail.common.TravellingTrailApplication;
import com.snail.travellingTrail.common.object.Fan;
import com.snail.travellingTrail.common.utils.ToastHelper;
import com.snail.travellingTrail.travelNotes.controller.TravelNotesActivity;
import com.snail.travellingTrail.user.controller.MyPageActivity;
public class FansListActivity extends SherlockActivity
{
ZrcListView fanListView;
ArrayList<Fan> fans;
FansListAdapter fanAdapter;
ActionBar actionBar;
FinalHttp finalHttp;
Menu optionsMenu;
View wirtefanFrameView, fansView;
LayoutInflater layoutInflater;
long userId;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
init();
}
@Override
protected void onResume()
{
super.onResume();
}
private void init()
{
userId = getIntent().getExtras().getLong("userId", -1);
if (userId == -1)
{
if (TravellingTrailApplication.loginUser != null)
{
userId = TravellingTrailApplication.loginUser.getUs_Info_Us_Id();
}
else {
ToastHelper.showToast(this, "咦?!你怎么跑到这个页面来的?有点问题哦", Toast.LENGTH_SHORT);
finish();
}
}
finalHttp = new FinalHttp();
findViews();
setListener();
setListView();
fanListView.refresh(); //执行刷新,会调用OnStartListener的onStart方法
}
private void findViews()
{
layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
fansView = layoutInflater.inflate(R.layout.activity_fans_list, null);
setContentView(fansView);
fanListView = (ZrcListView)findViewById(R.id.act_fans_list_lv);
}
private void setListView()
{
// 设置下拉刷新的样式
SimpleHeader header = new SimpleHeader(this);
header.setTextColor(getResources().getColor(R.color.aurantium));
header.setCircleColor(getResources().getColor(R.color.aurantium));
fanListView.setHeadable(header);
// 设置加载更多的样式
SimpleFooter footer = new SimpleFooter(this);
footer.setCircleColor(getResources().getColor(R.color.aurantium));
fanListView.setFootable(footer);
// 设置列表项出现动画
fanListView.setItemAnimForTopIn(R.anim.anim_topitem_in);
fanListView.setItemAnimForBottomIn(R.anim.anim_bottomitem_in);
fanAdapter = new FansListAdapter(fans, FansListActivity.this);
fanListView.setAdapter(fanAdapter);
}
private void setListener()
{
// 下拉刷新事件回调
fanListView.setOnRefreshStartListener(new OnStartListener()
{
@Override
public void onStart()
{
getFans();
}
});
}
private void getFans()
{
// AjaxParams ajaxParams = new AjaxParams();
// ajaxParams.put("Footprint_Id", String.valueOf(footprintId));
finalHttp.get(RequestAddress.GET_FANS_LIST + userId,
new AjaxCallBack<String>()
{
@Override
public void onFailure(Throwable t, int errorNo, String strMsg)
{
fanListView.setRefreshFail();
if (strMsg != null)
{
Log.v("GET_DEFAULT_SHIRT:failure", strMsg);
ToastHelper.showToast(FansListActivity.this, "加载失败,错误代码:"
+ errorNo + "\n错误信息:" + strMsg, Toast.LENGTH_SHORT);
}
}
@Override
public void onLoading(long count, long current) //每1秒钟自动被回调一次
{
Log.v("GET_DEFAULT_SHIRT:onLoading", current+"/"+count);
}
@Override
public void onSuccess(String result)
{
Log.v("GET_DEFAULT_SHIRT:success", result);
Type type = new TypeToken<ArrayList<Fan>>(){ }.getType();
Gson gson = new Gson();
// JsonParser jsonParser = new JsonParser();
// JsonObject jsonObject = (JsonObject) jsonParser.parse(result);
// if ( !jsonObject.get("result").getAsBoolean())
// {
// ToastHelper.showToast(fanActivity.this, "加载失败,错误信息:\n" +
// jsonObject.get("data").getAsString(), Toast.LENGTH_SHORT);
// fanListView.setRefreshFail();
// return;
// }
// else {
fanListView.setRefreshSuccess();
fans = gson.fromJson(result, type);
fanAdapter.setDatas(fans);
fanAdapter.notifyDataSetChanged();
if (fanAdapter.getCount() < 1)
{
ToastHelper.showToast(FansListActivity.this, "暂时还没有粉丝喔", Toast.LENGTH_SHORT);
finish();
}
// }
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId()) {
case android.R.id.home: // 点击了左上角Home按钮
finish();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
}