package com.yaoyumeng.v2ex.ui.fragment;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.astuetz.PagerSlidingTabStrip;
import com.yaoyumeng.v2ex.R;
import com.yaoyumeng.v2ex.model.NodeModel;
import com.yaoyumeng.v2ex.model.ProfileModel;
import com.yaoyumeng.v2ex.ui.adapter.AggregateTopicsAdapter;
import com.yaoyumeng.v2ex.ui.adapter.FavNodesAdapter;
import com.yaoyumeng.v2ex.utils.AccountUtils;
import java.util.ArrayList;
public class ViewPagerFragment extends BaseFragment {
public static final int TypeViewPager_Aggregation = 0; //首页Tab
public static final int TypeViewPager_Favorite = 1; //节点收藏
private PagerSlidingTabStrip mPagerSlidingTabStrip;
private ViewPager mViewPager;
private TextView mEmptyText;
private int mType;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_viewpager, container, false);
mPagerSlidingTabStrip = (PagerSlidingTabStrip) rootView.findViewById(R.id.pager_tabstrip);
mViewPager = (ViewPager) rootView.findViewById(R.id.pager);
mEmptyText = (TextView) rootView.findViewById(R.id.empty_layout);
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mType = getArguments().getInt("type");
if (mType == TypeViewPager_Favorite) {
ArrayList<NodeModel> nodes = AccountUtils.readFavoriteNodes(getActivity());
if (nodes != null && nodes.size() != 0) {
mViewPager.setAdapter(new FavNodesAdapter(getChildFragmentManager(), nodes));
mPagerSlidingTabStrip.setViewPager(mViewPager);
} else {
mEmptyText.setVisibility(View.VISIBLE);
mPagerSlidingTabStrip.setVisibility(View.INVISIBLE);
}
} else {
mViewPager.setAdapter(new AggregateTopicsAdapter(getChildFragmentManager(), getActivity()));
mPagerSlidingTabStrip.setViewPager(mViewPager);
}
}
@Override
public void onLogin(ProfileModel profile) {
super.onLogin(profile);
if (mType == TypeViewPager_Favorite) {
//如果登录了,则刷新用户收藏的节点
mEmptyText.setVisibility(View.GONE);
mPagerSlidingTabStrip.setVisibility(View.VISIBLE);
refreshFavNodes();
}
}
private void refreshFavNodes() {
AccountUtils.refreshFavoriteNodes(getActivity(), new AccountUtils.OnAccountFavoriteNodesListener() {
@Override
public void onAccountFavoriteNodes(ArrayList<NodeModel> nodes) {
if (nodes != null && nodes.size() != 0) {
mViewPager.setAdapter(new FavNodesAdapter(getFragmentManager(), nodes));
mPagerSlidingTabStrip.setViewPager(mViewPager);
}
}
});
}
}