java - 从 Activity 中调用自定义片段

标签 java android-fragments

我创建了自己的片段,我想从我的 Activity 中激活它。我的 mainActivity 文件是一个纯粹的 Activity(不是 FragmantActivity 或其他任何东西)。为什么我不能使用自定义 Fragment 作为参数?

if (savedInstanceState == null) {
        // Add the fragment on initial activity setup
        myFragment = new CustomFragment();
        getFragmentManager()
        .beginTransaction()
                .add(android.R.id.content, myFragment )
                .commit();

我收到一个编译错误,告诉我 .add() 方法的第二个参数必须是 Fragment,但“myFragment”是派生 Fragment 类的 CustomFragment。那么如何从普通的 Activity 中激活这个片段呢?

最佳答案

确保您的 Fragment 导入保持一致。在所有类中使用 import android.app.Fragment 或 import android.support.v4.app.Fragment;在所有类(class)中。不要混合搭配

FragmentActivity 或 FragmentActivity 的任何子类只能保存支持库中的片段。因此,将您的 Activity 的父类更改为 FragmentActivity,它将起作用。由于 AppCompatActivity 继承自 FragmentActivity,因此它也可以工作。

关于java - 从 Activity 中调用自定义片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40598897/

相关文章:

Eclipse Ant JDK 问题

java - Android SDK 错误 (BNR)

Android - 无法访问类型的封闭实例

java - Hibernate:用另一个文件覆盖xml配置文件

java - 无法获取 R2DBC 连接 Java Spring

java - 用 Java 创建 Web 浏览器

java - JSP 登录注销使用 bean 的简单 Web 应用程序 - 当数据库中存在数据时返回 false

php - 如何在不编码的情况下使用 Volley 进行多部分?

java - 通过具有底部导航 View 的 Activity 将值从一个 fragment 传递到另一个 fragment

android - 如何在 fragment android中保存布局状态