package me.zsj.interessant.interesting; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.Menu; import android.view.MenuItem; import java.util.ArrayList; import java.util.List; import me.zsj.interessant.MainActivity; import me.zsj.interessant.R; import me.zsj.interessant.base.ToolbarActivity; /** * @author zsj */ public class InterestingActivity extends ToolbarActivity { public static final String RELATED_VIDEO = "related"; public static final String RELATED_HEADER_VIDEO = "related_header"; private static int categoryId; private static boolean related; private static boolean relatedHeader; @Override public int providerLayoutId() { return R.layout.interesting_activity; } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); categoryId = getIntent().getExtras().getInt(MainActivity.CATEGORY_ID); related = getIntent().getBooleanExtra(RELATED_VIDEO, false); relatedHeader = getIntent().getBooleanExtra(RELATED_HEADER_VIDEO, false); String title = getIntent().getStringExtra(MainActivity.TITLE); if (title == null) { ab.setTitle("Interesting"); } else { if (relatedHeader) { ab.setTitle(title); } else { ab.setTitle(title.substring(1)); } } ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); setupViewPager(viewPager); TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); tabLayout.setupWithViewPager(viewPager); } private void setupViewPager(ViewPager viewPager) { Adapter adapter = new Adapter(getSupportFragmentManager()); adapter.addFragment(new TimeListFragment(), getResources().getString(R.string.time_category)); adapter.addFragment(new ShareListFragment(), getResources().getString(R.string.share_category)); viewPager.setAdapter(adapter); } private static class Adapter extends FragmentPagerAdapter { List<Fragment> fragments = new ArrayList<>(); List<String> fragmentTitles = new ArrayList<>(); public Adapter(FragmentManager fm) { super(fm); } private void addFragment(Fragment fragment, String title) { fragments.add(fragment); fragmentTitles.add(title); } @Override public Fragment getItem(int position) { Fragment fragment = fragments.get(position); Bundle bundle = new Bundle(); bundle.putInt(MainActivity.CATEGORY_ID, categoryId); bundle.putBoolean(RELATED_VIDEO, related); bundle.putBoolean(RELATED_HEADER_VIDEO, relatedHeader); fragment.setArguments(bundle); return fragment; } @Override public int getCount() { return fragments.size(); } @Override public CharSequence getPageTitle(int position) { return fragmentTitles.get(position); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_search, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); } else if (item.getItemId() == R.id.search_action) { toSearch(this); } return super.onOptionsItemSelected(item); } }