setupWithViewPager (android.support.v4.view.ViewPager) в TabLayout нельзя применить к (androidx.viewpager..widget.ViewPager) - PullRequest
2 голосов
/ 07 октября 2019

как исправить эту ошибку

setupWithViewPager (android.support.v4.view.ViewPager) в TabLayout нельзя применить к (androidx.viewpager..widget.ViewPager)

вот мой класс

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);
	}
}

1 Ответ

1 голос
/ 07 октября 2019
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;

Вы используете библиотеку androidx и вспомогательные библиотеки вместе .
Вы не можете сделать это.

Использование библиотеки androidx:

  • Используйте import com.google.android.material.tabs.TabLayout; вместо android.support.design.widget.TabLayout;
    Компонент включен в Библиотеку компонентов материалов.

  • Измените android.support.v7.app.AppCompatActivity на androidx.appcompat.app.AppCompatActivity;

Использование библиотек поддержки:

  • Измените androidx.viewpager.widget.ViewPager на android.support.v4.view.ViewPager

  • Измените androidx.fragment.app.Fragment на android.support.v4.app.Fragment

  • Изменитеandroidx.fragment.app.FragmentPagerAdapter до android.support.v4.app.FragmentPagerAdapter

...