无法解析方法 getParentFragmentManager
Cannot resolve method getParentFragmentManager
我正在清理一个小的 Android 项目,删除支持库的使用和 androidx 的使用似乎很有希望。尽管如此,我的 MainActivity.java:
遇到了一个奇怪的问题
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
private void setupFragments(){
//...
ViewPager viewPager = findViewById(R.id.pager);
ViewPagerAdapter adapter = new ViewPagerAdapter(getParentFragmentManager());
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(2);
tabLayout.setupWithViewPager(viewPager);
//...
在旧版本中,使用getFragmentManager()
代替。尽管如此,现在我收到 Cannot resolve method getParentFragmentManager
编译错误,并且 Android Studio 建议我创建自己的 getParentFragmentManager 函数。根据我的研究,如上所述,导入 androidx 库时应该可以访问此功能。
我在这里错过了什么?
编辑:
如果相关,我还会在 FragmentPagerAdapter 的定义中收到来自 androidx 的 FragmentManager 弃用警告:
public class ViewPagerAdapter 扩展了 FragmentPagerAdapter {
ViewPagerAdapter(FragmentManager fm) { // <---- 已弃用
超级(调频);
}
关于 androidx.fragment:fragment 的版本,我只是按照答案中的建议使用 implementation 'androidx.fragment:fragment-ktx:1.2.2'
(之前什么都没有)。
导入 androidx.fragment.app.FragmentTransaction
没有任何变化。也显示为未使用。
使用 getSupportFragmentManager();
而不是 getParentFramentManager();
应该可以正常工作。
Fragment组件1.2.0版本新增功能
尝试更改您的 build.gradle
文件(当前稳定版本):
implementation 'androidx.fragment:fragment-ktx:1.2.2
'
您应该尝试使用:activity.getSupportFragmentManager()
我正在清理一个小的 Android 项目,删除支持库的使用和 androidx 的使用似乎很有希望。尽管如此,我的 MainActivity.java:
遇到了一个奇怪的问题import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
private void setupFragments(){
//...
ViewPager viewPager = findViewById(R.id.pager);
ViewPagerAdapter adapter = new ViewPagerAdapter(getParentFragmentManager());
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(2);
tabLayout.setupWithViewPager(viewPager);
//...
在旧版本中,使用getFragmentManager()
代替。尽管如此,现在我收到 Cannot resolve method getParentFragmentManager
编译错误,并且 Android Studio 建议我创建自己的 getParentFragmentManager 函数。根据我的研究,如上所述,导入 androidx 库时应该可以访问此功能。
我在这里错过了什么?
编辑: 如果相关,我还会在 FragmentPagerAdapter 的定义中收到来自 androidx 的 FragmentManager 弃用警告:
public class ViewPagerAdapter 扩展了 FragmentPagerAdapter { ViewPagerAdapter(FragmentManager fm) { // <---- 已弃用 超级(调频); }
关于 androidx.fragment:fragment 的版本,我只是按照答案中的建议使用 implementation 'androidx.fragment:fragment-ktx:1.2.2'
(之前什么都没有)。
导入 androidx.fragment.app.FragmentTransaction
没有任何变化。也显示为未使用。
使用 getSupportFragmentManager();
而不是 getParentFramentManager();
应该可以正常工作。
Fragment组件1.2.0版本新增功能
尝试更改您的 build.gradle
文件(当前稳定版本):
implementation 'androidx.fragment:fragment-ktx:1.2.2
'
您应该尝试使用:activity.getSupportFragmentManager()