package org.qii.weiciyuan.ui.main;
import org.qii.weiciyuan.support.lib.AppFragmentPagerAdapter;
import org.qii.weiciyuan.ui.maintimeline.MentionsCommentTimeLineFragment;
import org.qii.weiciyuan.ui.maintimeline.MentionsWeiboTimeLineFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.util.SparseArray;
/**
* User: qii
* Date: 13-3-8
*/
public class MentionsTimeLinePagerAdapter extends AppFragmentPagerAdapter {
private SparseArray<Fragment> fragmentList;
public MentionsTimeLinePagerAdapter(MentionsTimeLine fragment, ViewPager viewPager,
FragmentManager fm, SparseArray<Fragment> fragmentList) {
super(fm);
this.fragmentList = fragmentList;
fragmentList.append(MentionsTimeLine.MENTIONS_WEIBO_CHILD_POSITION,
fragment.getMentionsWeiboTimeLineFragment());
fragmentList.append(MentionsTimeLine.MENTIONS_COMMENT_CHILD_POSITION,
fragment.getMentionsCommentTimeLineFragment());
FragmentTransaction transaction = fragment.getChildFragmentManager().beginTransaction();
if (!fragmentList.get(MentionsTimeLine.MENTIONS_WEIBO_CHILD_POSITION).isAdded()) {
transaction.add(viewPager.getId(),
fragmentList.get(MentionsTimeLine.MENTIONS_WEIBO_CHILD_POSITION),
MentionsWeiboTimeLineFragment.class.getName());
}
if (!fragmentList.get(MentionsTimeLine.MENTIONS_COMMENT_CHILD_POSITION).isAdded()) {
transaction.add(viewPager.getId(),
fragmentList.get(MentionsTimeLine.MENTIONS_COMMENT_CHILD_POSITION),
MentionsCommentTimeLineFragment.class.getName());
}
if (!transaction.isEmpty()) {
transaction.commit();
fragment.getChildFragmentManager().executePendingTransactions();
}
}
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
protected String getTag(int position) {
SparseArray<String> tagList = new SparseArray<String>();
tagList.append(MentionsTimeLine.MENTIONS_WEIBO_CHILD_POSITION,
MentionsWeiboTimeLineFragment.class.getName());
tagList.append(MentionsTimeLine.MENTIONS_COMMENT_CHILD_POSITION,
MentionsCommentTimeLineFragment.class.getName());
return tagList.get(position);
}
@Override
public int getCount() {
return 2;
}
}