简体   繁体   中英

How to add Tabs to the TabLayout in latest Android Design Support Library

I am new to android development. I following the tutorial http://slidenerd.com/2015/07/22/android-design-support-library/ which adds same fragment to the tablayout.But I need to add 3 unique fragments to the tablayout which download data from the web server.How to do that programming???? This is the code ` package com.example.naveen.helloworld;

import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
public class AppMainScreen extends AppCompatActivity {
private Toolbar mToolbar;
private TabLayout mTablayout;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_app_main_screen2);
    mToolbar = (Toolbar) findViewById(R.id.tool_bar);
    setSupportActionBar(mToolbar);
    mTablayout = (TabLayout) findViewById(R.id.tab_layout);
    mViewPager = (ViewPager) findViewById(R.id.view_pager);
    mViewPager.setAdapter(new PagerAdapter(getSupportFragmentManager()));
    mTablayout.setupWithViewPager(mViewPager);
}

class PagerAdapter extends FragmentStatePagerAdapter {
    public PagerAdapter(FragmentManager fm) {
        super(fm);
    }
    @Override
    public Fragment getItem(int position) {
        Fragment fragment =null;
        switch (position) {
            case 0:                    return new Fragment();
            case 1:                    return new Fragment();
        }
        return null;
    }

    @Override
    public int getCount() {
        return 2;
    }

    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return "News Feed";
            case 1:
                return "Events";
            default:
                return "News Feed";
        } }   }}`

Thanx in advance.

the getItem method inside the pager adapter sets the fragment so just modify the switch case to

switch(position){
   case 0: 
     return new NewsFragment();
   case 1: 
     return new EventsFragment();
}

Replace NewsFragment and EventsFragment with the corresponding fragments that you need to show

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM