gpt4 book ai didi

android - getSupportFragmentManager 无法分配给 FragmentManager

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:20 24 4
gpt4 key购买 nike

我正在使用 Android 编程中的教程编写我的第一个使用 fragment 的应用程序:Big Nerd Ranch 指南。

我创建了一个 fragment 和一个相应的布局,现在我想向将使用它的父级添加一个 fragment 管理器。

我是这样写的:

FragmentManager fm = getSupportFragmentManager();

但是 android studio 给我这个错误:

Error:(19, 51) error: incompatible types
required: android.app.FragmentManager
found: android.support.v4.app.FragmentManager

我不明白...我的印象是 FragmentManager 可以来自支持库,也可以不来自支持库,这取决于您是否要支持 API 11 之前的构建。

有什么变化吗?

这些是我的进口:

import android.app.FragmentManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

当我改变时:

import android.app.FragmentManager;

import android.support.v4.app.FragmentManager;

我在识别 fragment 类时遇到错误;

这是相关代码:

FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);

if (fragment == null){
fragment = new CrimeFragment();
fm.beginTransaction().add(R.id.fragmentContainer, fragment).commit();
}

错误是突出显示该行 如果( fragment == null){

并说:

unknown class: 'fragment'

还有几个

unexpected token

在 if 语句的每个括号和一个

unexpected identifier

在双等号上。

这是怎么回事?

最佳答案

只需将 import android.app.FragmentManager; 更改为 import android.support.v4.app.FragmentManager;

对于您编辑的问题:检查您放置代码的位置并仔细检查那些多个括号。我能够通过将代码放在任何方法之外来重现您的问题:

FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);

if (fragment == null){
fragment = new CrimeFragment();
fm.beginTransaction().add(R.id.fragmentContainer, fragment).commit();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_profile_holder, container, false);
}

关于android - getSupportFragmentManager 无法分配给 FragmentManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24524180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com