package net.doode.android;
import java.util.ArrayList;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import com.actionbarsherlock.app.SherlockFragmentActivity;
public class TabsAdapter extends FragmentPagerAdapter {
private final Context mContext;
private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
private static final class TabInfo {
public final String title;
public final Class<?> clss;
public final Bundle args;
public TabInfo(String pTitle, Class<?> pCls, Bundle pArgs) {
title = pTitle;
clss = pCls;
args = pArgs;
}
}
public TabsAdapter(SherlockFragmentActivity activity) {
super(activity.getSupportFragmentManager());
mContext = activity;
}
public void addTab(String title, Class<?> cls, Bundle args) {
TabInfo info = new TabInfo(title, cls, args);
mTabs.add(info);
notifyDataSetChanged();
}
@Override
public Fragment getItem(int position) {
TabInfo info = mTabs.get(position);
return Fragment.instantiate(mContext, info.clss.getName(), info.args);
}
@Override
public int getCount() {
return mTabs.size();
}
@Override
public CharSequence getPageTitle(int position) {
TabInfo info = mTabs.get(position);
if (info != null) {
return info.title;
}
return null;
}
}