package com.umeng.comm.ui.fragments;
import android.util.TypedValue;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import com.umeng.comm.core.beans.CommUser;
import com.umeng.comm.core.beans.FeedItem;
import com.umeng.comm.core.listeners.Listeners.OnResultListener;
import com.umeng.comm.core.utils.ResFinder;
import com.umeng.comm.ui.presenter.impl.FriendFeedPresenter;
import com.umeng.comm.ui.widgets.BaseView;
import java.util.Iterator;
import java.util.List;
/**
* 我的关注页面
*/
public class FriendsFragment extends FeedListFragment<FriendFeedPresenter> {
protected OnResultListener mListener;
protected BaseView mBaseView = null;
@Override
protected int getFragmentLayout() {
return ResFinder.getLayout("umeng_comm_friends_frag");
}
@Override
protected FriendFeedPresenter createPresenters() {
return new FriendFeedPresenter(this);
}
@Override
protected void initWidgets() {
super.initWidgets();
mFeedsListView.setFooterDividersEnabled(false);
// 隐藏发送跟设置按钮
mPostBtn.setVisibility(View.GONE);
mRootView.findViewById(ResFinder.getId("umeng_comm_title_setting_btn")).setVisibility(
View.GONE);
// 将标题改为朋友圈
TextView titleTextView = (TextView) mRootView.findViewById(ResFinder
.getId("umeng_comm_title_tv"));
titleTextView.setText(ResFinder.getString("umeng_comm_recommend_friends"));
titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
// 处理返回事件,显示发现页面
mRootView.findViewById(ResFinder.getId("umeng_comm_title_back_btn")).setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
mListener.onResult(0);
}
});
mBaseView = (BaseView) mRootView.findViewById(ResFinder.getId("umeng_comm_baseview"));
}
public void setOnResultListener(OnResultListener listener) {
this.mListener = listener;
}
protected void checkListViewData() {
if (mFeedLvAdapter.getCount() == 0) {
mBaseView.showEmptyView();
} else {
mBaseView.hideEmptyView();
}
}
@Override
public void onRefreshEnd() {
super.onRefreshEnd();
checkListViewData();
}
@Override
protected void onCancelFollowUser(CommUser user) {
super.onCancelFollowUser(user);
List<FeedItem> items = mFeedLvAdapter.getDataSource();
Iterator<FeedItem> iterator = items.iterator();
while (iterator.hasNext()) {
FeedItem item = iterator.next();
if (item.creator.id.equals(user.id)) {
iterator.remove();
}
}
mFeedLvAdapter.notifyDataSetChanged();
}
public static FriendsFragment newFriendsFragment() {
return new FriendsFragment();
}
@Override
protected void postFeedComplete(FeedItem feedItem) {
updateForwardCount(feedItem, 1);
}
@Override
public void onRefreshStart() {
mRefreshLayout.setProgressViewOffset(false, 0,
(int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources()
.getDisplayMetrics()));
mRefreshLayout.setRefreshing(true);
}
}