compile 'com.android.support:design:26+'
compile 'com.squareup.okhttp3:okhttp:3.4.2'
//xrecyclerview的依赖上下拉刷新 implementation 'com.jcodecraeer:xrecyclerview:1.5.9'
//图片加载框架glide compile 'com.github.bumptech.glide:glide:3.7.0'
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="dy.com.tab_fragment.MainActivity" android:orientation="vertical"> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#807e8c" app:tabGravity="center" app:tabIndicatorColor="@color/colorAccent" app:tabMode="scrollable" app:tabSelectedTextColor="@color/colorPrimaryDark" app:tabTextColor="@color/colorPrimary" /> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/viewPage" ></android.support.v4.view.ViewPager> </LinearLayout>
public class MainActivity extends AppCompatActivity { private TabLayout tabLayout; private ViewPager viewPage; private List<Fragment> frags; private List<String> titles =new ArrayList<>(); private Fragment[] f; private String path_shop="http://nxf.dykj168.com/index.php?s=/Home/study/studySonCategory&id=12"; private Myadapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取资源id viewPage= (ViewPager) findViewById(R.id.viewPage); tabLayout= (TabLayout) findViewById(R.id.tabLayout); //网络请求 initData(); //创建fragment集合 frags=new ArrayList<>(); frags.add(new Fragment1()); //动态请求的数据集合 titles=new ArrayList<>(); tabLayout.setupWithViewPager(viewPage); adapter = new Myadapter(getSupportFragmentManager()); viewPage.setOffscreenPageLimit( titles.size() ); //联动 viewPage.setAdapter(adapter); adapter.notifyDataSetChanged(); } private void initData() { OkhttpUtils getshu = OkhttpUtils.getshu(); getshu.say(path_shop, new OkhttpUtils.fun1() { @Override public void onres(String string) { Gson gson = new Gson(); Story_Bean story_bean = gson.fromJson(string, Story_Bean.class); List<Story_Bean.DataBean> data = story_bean.getData(); //for循环便利数据展示 for (int i = 0; i <data.size() ; i++) { String name = data.get(i).getName(); //添加数据 titles.add(name); } //刷新适配器 adapter.notifyDataSetChanged(); } }); } //适配器 class Myadapter extends FragmentPagerAdapter { public Myadapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return getfragment(position); } @Override public int getCount() { return titles.size(); } @Override public CharSequence getPageTitle(int position) { return titles.get(position); } } //动态创建Fragment的方法 public Fragment getfragment(int position){ f=new Fragment[10]; Fragment fg = f[position]; if (fg == null) { fg = Fragment1.getiniturl(position+""); f[position] = fg; } return fg; } }