package net.coding.program.user;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.util.TypedValue;
import net.coding.program.R;
import net.coding.program.common.SaveFragmentPagerAdapter;
import net.coding.program.common.ui.BackActivity;
import net.coding.program.model.UserObject;
import net.coding.program.subject.SubjectListFragment;
import net.coding.program.subject.SubjectListFragment_;
import net.coding.program.third.WechatTab;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.Extra;
import org.androidannotations.annotations.ViewById;
@EActivity(R.layout.activity_user_topic)
public class UserTopicActivity extends BackActivity {
@Extra
UserObject mUserObject;
String[] fragmentTitles;
@ViewById
WechatTab tabs;
@ViewById(R.id.pagerFragmentProgram)
ViewPager pager;
@AfterViews
protected final void init() {
ActionBar actionBar = getSupportActionBar();
if (mUserObject.isMe()) {
fragmentTitles = getResources().getStringArray(R.array.user_my_topic_title);
actionBar.setTitle("我的话题");
} else {
fragmentTitles = getResources().getStringArray(R.array.user_other_topic_title);
actionBar.setTitle("TA的话题");
}
MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
pager.setAdapter(adapter);
int pageMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources()
.getDisplayMetrics());
pager.setPageMargin(pageMargin);
tabs.setViewPager(pager);
}
class MyPagerAdapter extends SaveFragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public CharSequence getPageTitle(int position) {
return fragmentTitles[position];
}
@Override
public int getCount() {
return fragmentTitles.length;
}
@Override
public Fragment getItem(int position) {
final SubjectListFragment.Type types[] = new SubjectListFragment.Type[]{
SubjectListFragment.Type.follow,
SubjectListFragment.Type.join
};
Fragment fragment = SubjectListFragment_.builder()
.userKey(mUserObject.global_key)
.mType(types[position])
.build();
saveFragment(fragment);
return fragment;
}
}
}