package com.camnter.newlife.ui.activity.tabalphaview;
import android.os.Bundle;
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 com.camnter.newlife.R;
import com.camnter.newlife.core.activity.BaseAppCompatActivity;
import com.camnter.newlife.ui.fragment.tabalphaindicatorfragment.TabAlphaFragment;
import com.camnter.newlife.widget.alphaview.TabAlphaIndicator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Description:TabAlphaViewActivity
* Created by:CaMnter
*/
public class TabAlphaViewActivity extends BaseAppCompatActivity {
/**
* Fill in layout id
*
* @return layout id
*/
@Override protected int getLayoutId() {
return R.layout.activity_tab_alpha_view;
}
/**
* Initialize the view in the layout
*
* @param savedInstanceState savedInstanceState
*/
@Override protected void initViews(Bundle savedInstanceState) {
final ViewPager viewPager = (ViewPager) this.findViewById(R.id.tab_alpha_view_pager);
viewPager.setAdapter(new PagerAdapter(this.getSupportFragmentManager(), "微信", "发现", "我"));
final TabAlphaIndicator tabAlphaIndicator = (TabAlphaIndicator) this.findViewById(
R.id.tab_alpha_indicator);
tabAlphaIndicator.setViewPager(viewPager);
}
/**
* Initialize the View of the listener
*/
@Override protected void initListeners() {
}
/**
* Initialize the Activity data
*/
@Override protected void initData() {
}
private class PagerAdapter extends FragmentPagerAdapter {
private List<String> contentList = new ArrayList<>();
private List<Fragment> fragments = new ArrayList<>();
public PagerAdapter(FragmentManager fm, String... content) {
super(fm);
this.contentList.addAll(Arrays.asList(content));
// noinspection Convert2streamapi
for (String element : this.contentList) {
this.fragments.add(TabAlphaFragment.newInstance(element));
}
}
/**
* Return the Fragment associated with a specified position.
*/
@Override public Fragment getItem(int position) {
return this.fragments.get(position);
}
/**
* Return the number of views available.
*/
@Override public int getCount() {
return this.fragments.size();
}
}
}