简体   繁体   中英

setupWithViewPager(android.support.v4.view.ViewPager) in TabLayout cannot br applied to (androidx.viewpager..widget.ViewPager)

how to fix this error

setupWithViewPager(android.support.v4.view.ViewPager) in TabLayout cannot br applied to (androidx.viewpager..widget.ViewPager)

here is my class

 package org.apoce.app; import android.content.Intent; import android.os.Bundle; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentPagerAdapter; import androidx.viewpager.widget.ViewPager; import android.support.design.widget.TabLayout; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import org.apoce.app.fragment.RecentPostsFragment; import com.google.firebase.auth.FirebaseAuth; public class PostActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView( R.layout.activity_post); FragmentPagerAdapter mPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { private final Fragment[] mFragments = new Fragment[] { new RecentPostsFragment(), }; @Override public Fragment getItem(int position) { return mFragments[position]; } @Override public int getCount() { return mFragments.length; } @Override public CharSequence getPageTitle(int position) { return getResources().getStringArray(R.array.headings)[position]; } }; ViewPager mViewPager = findViewById(R.id.container); mViewPager.setAdapter(mPagerAdapter); TabLayout tabLayout = findViewById(R.id.tabs); tabLayout.setupWithViewPager(mViewPager); } }

import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.support.design.widget.TabLayout;
import android.support.v7.app.AppCompatActivity;

You are using androidx library and support libraries together .
You can't do it.

Using androidx library :

  • Use import com.google.android.material.tabs.TabLayout; instead of android.support.design.widget.TabLayout;
    The component is included in the Material Components Library.

  • Change the android.support.v7.app.AppCompatActivity to androidx.appcompat.app.AppCompatActivity ;

Using support libraries:

  • Change the androidx.viewpager.widget.ViewPager to android.support.v4.view.ViewPager

  • Change the androidx.fragment.app.Fragment to android.support.v4.app.Fragment

  • Change the androidx.fragment.app.FragmentPagerAdapter to android.support.v4.app.FragmentPagerAdapter

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