【问题标题】:setupWithViewPager(android.support.v4.view.ViewPager) in TabLayout cannot br applied to (androidx.viewpager..widget.ViewPager)TabLayout 上的 setupWithViewPager(android.support.v4.view.ViewPager) 无法应用于 (androidx.viewpager..widget.ViewPager)
【发布时间】:2019-10-07 15:50:59
【问题描述】:

如何解决这个错误

tabLayout 中的setupWithViewPager(android.support.v4.view.ViewPager) 无法应用到 (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);
	}
}

【问题讨论】:

    标签: java android android-support-library android-appcompat androidx


    【解决方案1】:
    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;
      The component 包含在材料组件库中。

    • 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多