ViewPager和TabLayout交互关联

Activity:

	package com.example.fuxi_2;

import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
//定义变量
private ViewPager viewPager;
private TabLayout tab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取资源ID
viewPager=findViewById(R.id.viewpager);
tab=findViewById(R.id.tab);
//viewpager的适配器
viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager()));

    //tab和viewpager互动关联之一*******
    tab.setupWithViewPager(viewPager);
    
}

}

Viewpager的适配器:

package com.example.work9_10;

import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import com.example.work9_10.Fragment.MainFragment;

public class ViewPagerAdapter extends FragmentPagerAdapter {
private String[] menus={“我的”,“游戏”,“视频”};

public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override	//根据条目得到不同的fragment*******
public **Fragment** getItem(int i) {
    switch (i){
        case 0:
            return new MainFragment();
        default:
            return new Fragment();
    }
}

@Override
public int getCount() {
    return menus.length;
}

//viewpager和tab交互关联之一***********

@Nullable
@Override
public CharSequence getPageTitle(int position) {
    return menus[position];
}

}

XML:

 <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
            android:layout_above="@id/tab"
        />

    <android.support.design.widget.TabLayout
        android:id="@+id/tab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        />
</RelativeLayout>

猜你喜欢

转载自blog.csdn.net/weixin_43258668/article/details/84317679