package com.werb.gankwithzhihu.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import com.werb.gankwithzhihu.R;
import com.werb.gankwithzhihu.ui.adapter.ViewPagerFgAdapter;
import com.werb.gankwithzhihu.ui.base.BasePresenter;
import com.werb.gankwithzhihu.ui.base.MVPBaseActivity;
import com.werb.gankwithzhihu.ui.base.MVPBaseFragment;
import com.werb.gankwithzhihu.ui.fragment.DailyFragment;
import com.werb.gankwithzhihu.ui.fragment.GankFragment;
import com.werb.gankwithzhihu.ui.fragment.ZhihuFragment;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
/**
* Created by Werb on 2016/8/18.
* Werb is Wanbo.
* Contact Me : werbhelius@gmail.com
* 主界面,包含了三个Fragment,但是我觉得在 Fragment 的加载和销毁的处理上,做的不好,希望大家可以有好的建议提供给我
*/
public class MainActivity extends MVPBaseActivity {
@Bind(R.id.tabLayout)
TabLayout tabLayout;
@Bind(R.id.content_viewPager)
ViewPager content_viewPager;
private List<MVPBaseFragment> fragmentList;
@Override
protected BasePresenter createPresenter() {
return null;
}
@Override
protected int provideContentViewId() {
return R.layout.activity_main;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initTabView();
}
//初始化Tab滑动
public void initTabView(){
fragmentList = new ArrayList<>();
fragmentList.add(new ZhihuFragment());
fragmentList.add(new GankFragment());
fragmentList.add(new DailyFragment());
content_viewPager.setOffscreenPageLimit(3);//设置至少3个fragment,防止重复创建和销毁,造成内存溢出
content_viewPager.setAdapter(new ViewPagerFgAdapter(getSupportFragmentManager(),fragmentList,"main_view_pager"));//给ViewPager设置适配器
tabLayout.setupWithViewPager(content_viewPager);//将TabLayout和ViewPager关联起来
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.today_github){
String github_trending = "https://github.com/trending";
startActivity(GankWebActivity.newIntent(this,github_trending));
return true;
}else if(item.getItemId() == R.id.about_me){
startActivity(new Intent(this,AboutMeActivity.class));
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
}