将片段与 NativeActivity 结合使用

Using fragments with NativeActivity

我有一个完全可用的 C++/OpenGL 引擎,我使用他们提供的 NativeActivity 将其移植到 Android。但我现在的任务是将它集成到一个 100% Java 的旧项目中,其中包含大量片段。

我的问题很简单:是否可以 show/use 在 NativeActivity 上创建 Fragment?

注意:我正在使用派生自 NativeActivity 的自定义 Java class,以便能够捕获 C++ 层无法使用的一些事件。因此,建议的解决方案可以是 Java 或 C++。

我尝试了各种来源的示例代码来显示来自 Java 的片段:

public class CustomNativeActivity extends NativeActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        startFragment();
    }

    public void startFragment() {
        TestNativeFragment fragment = new TestNativeFragment();
        getFragmentManager().beginTransaction().replace(android.R.id.content, fragment).commit();
    }
}

没有崩溃,片段事务后控制台中没有消息。只有我的 OpenGL,但没有我的片段的迹象。

感谢您的帮助!

由于这个项目高度依赖 Java 和片段,我决定放弃 NativeActivity 方法,而是在我的布局文件中添加一个 GLSurfaceView,然后从那里通过 JNI 调用 c++ 引擎的函数。如果有人对代码感兴趣,请告诉我。感谢您的建议。