【问题标题】:Android FragmentPagerAdapter is deprecatedAndroid FragmentPagerAdapter 已弃用
【发布时间】:2020-01-19 00:09:03
【问题描述】:

我有一个警告: FragmentPagerAdapter 已弃用。 这是我的代码:

package com.sweetieapps.librarianpro;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import java.util.ArrayList;
import java.util.List;

public class ViewPagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> fragmentList = new ArrayList<>();
    private final List<String> fragmentListTitles = new ArrayList<>();

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

    @NonNull
    @Override
    public Fragment getItem(int i) {
        return fragmentList.get(i);
    }

    @Override
    public int getCount() {
        return fragmentListTitles.size();
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return fragmentListTitles.get(position);
    }

    void addFragment(Fragment fragment, String title){
        fragmentList.add(fragment);
        fragmentListTitles.add(title);
    }
}

我在这里找到了一个可能的解决方案:FragmentPagerAdapter deprecated 但它在 Kotlin 中。

警告就在这个词上:super

//Here
super(fm);

【问题讨论】:

标签: java android


【解决方案1】:

根据FragmentPagerAdapter constrctor documentation

此构造函数已弃用。 使用FragmentPagerAdapter(FragmentManager, int)BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT

所以将super(fm) 替换为:

super(fm, FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);

【讨论】:

  • 但该类本身已被弃用
【解决方案2】:

【讨论】:

    猜你喜欢
    • 2012-12-25
    • 2021-08-31
    • 2015-09-18
    • 2018-02-11
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多