将片段与 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++ 引擎的函数。如果有人对代码感兴趣,请告诉我。感谢您的建议。
我有一个完全可用的 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++ 引擎的函数。如果有人对代码感兴趣,请告诉我。感谢您的建议。