package com.hpw.myapp.ui.tv.activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.Toolbar;
import com.hpw.mvpframe.base.CoreBaseActivity;
import com.hpw.mvpframe.base.CoreBaseFragment;
import com.hpw.mvpframe.utils.StatusBarUtil;
import com.hpw.mvpframe.utils.helper.FragmentAdapter;
import com.hpw.myapp.Constants;
import com.hpw.myapp.R;
import com.hpw.myapp.ui.tv.contract.TvContract;
import com.hpw.myapp.ui.tv.fragment.FirstFragment;
import com.hpw.myapp.ui.tv.fragment.OtherFragment;
import com.hpw.myapp.ui.tv.model.TabBean;
import com.hpw.myapp.ui.tv.model.TvMainModel;
import com.hpw.myapp.ui.tv.presenter.TvMainPresenter;
import com.hpw.myapp.ui.zhihu.activity.ZhihuMainActivity;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
/**
* Created by hpw on 16/12/2.
*/
public class TvMainActivity extends CoreBaseActivity<TvMainPresenter, TvMainModel> implements TvContract.TvMainView, CoreBaseFragment.OnBackToFirstListener {
List<Fragment> fragments = new ArrayList<>();
@BindView(R.id.tabs)
TabLayout tabs;
@BindView(R.id.viewpager)
ViewPager viewpager;
@BindView(R.id.toolbar)
Toolbar toolbar;
@Override
public int getLayoutId() {
return R.layout.activity_tv;
}
@Override
public void initView(Bundle savedInstanceState) {
StatusBarUtil.setTransparent(this);
toolbar.setTitle("全民TV");
}
@Override
public Context getContext() {
return this;
}
@Override
public void showError(String msg) {
}
@Override
public void showTabList(List<TabBean> mTabs) {
for (int i = 0; i < mTabs.size(); i++) {
tabs.addTab(tabs.newTab().setText(mTabs.get(i).getName()));
switch (i) {
case 0:
fragments.add(new FirstFragment());
break;
default:
fragments.add(OtherFragment.newInstance("json/categories/" + mTabs.get(i).getSlug() + "/list.json"));
break;
}
}
int position = 0;
for (int i = 0; i < mTabs.size(); i++) {
if (mTabs.get(i).getSlug().equals(getIntent().getStringExtra(Constants.ARG_POSITION_TV)))
position = i;
}
viewpager.setAdapter(new FragmentAdapter(getSupportFragmentManager(), fragments));
viewpager.setCurrentItem(position);//要设置到viewpager.setAdapter后才起作用
tabs.setupWithViewPager(viewpager);
tabs.setVerticalScrollbarPosition(position);
for (int i = 0; i < mTabs.size(); i++) {
tabs.getTabAt(i).setText(mTabs.get(i).getName());
}
}
public static void startActivity(Context context, String position) {
Intent starter = new Intent(context, TvMainActivity.class);
starter.putExtra(Constants.ARG_POSITION_TV, position);
context.startActivity(starter);
}
@Override
public void onBackToFirstFragment() {
startActivity(ZhihuMainActivity.class);
finish();
}
}