package com.gzsll.hupu.ui.messagelist;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.content.Intent;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.TabLayout;
import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.Toolbar;
import com.gzsll.hupu.R;
import com.gzsll.hupu.injector.HasComponent;
import com.gzsll.hupu.ui.BaseSwipeBackActivity;
import com.gzsll.hupu.ui.pmlist.PmListFragment;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Created by sll on 2016/3/13.
*/
public class MessageActivity extends BaseSwipeBackActivity
implements HasComponent<MessageComponent> {
public static void startActivity(Context mContext) {
Intent intent = new Intent(mContext, MessageActivity.class);
mContext.startActivity(intent);
}
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.tabs)
TabLayout tabs;
@BindView(R.id.appbar)
AppBarLayout appbar;
@BindView(R.id.viewpager)
ViewPager viewpager;
private MessageComponent mMessageComponent;
@Override
public int initContentView() {
return R.layout.activity_message;
}
@Override
public void initInjector() {
mMessageComponent = DaggerMessageComponent.builder()
.applicationComponent(getApplicationComponent())
.activityModule(getActivityModule())
.build();
}
@Override
public void initUiAndListener() {
ButterKnife.bind(this);
initToolBar(toolbar);
setTitle("消息中心");
MyAdapter adapter = new MyAdapter(getFragmentManager());
adapter.addFragment(new MessageListFragment(), "回复");
adapter.addFragment(new PmListFragment(), "PM");
viewpager.setAdapter(adapter);
tabs.setupWithViewPager(viewpager);
}
@Override
public MessageComponent getComponent() {
return mMessageComponent;
}
public static class MyAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragments = new ArrayList<>();
private final List<String> mFragmentTitles = new ArrayList<>();
public MyAdapter(FragmentManager fm) {
super(fm);
}
public void addFragment(Fragment fragment, String title) {
mFragments.add(fragment);
mFragmentTitles.add(title);
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitles.get(position);
}
}
@Override
protected boolean isApplyStatusBarTranslucency() {
return true;
}
@Override
protected boolean isApplyStatusBarColor() {
return true;
}
}