我有一个完全正常工作的C ++ / OpenGL引擎,我使用他们提供的NativeActivity移植到Android。但我现在的任务是将它集成到一个100%Java的旧项目中,并有大量的碎片。
我的问题很简单:是否可以在NativeActivity上显示/使用片段?
注意:我正在使用从NativeActivity派生的自定义Java类,以便能够捕获一些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,但没有我片段的迹象。
感谢您的帮助!
答案 0 :(得分:1)
由于这个项目高度依赖于Java和Fragments,我决定放弃NativeActivity方法,而是在我的布局文件中添加一个GLSurfaceView,然后通过JNI调用c ++引擎的函数。如果有人对代码感兴趣请告诉我。感谢您的建议。