使用NativeActivity的片段

时间:2018-01-12 20:02:23

标签: android android-ndk native-activity

我有一个完全正常工作的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,但没有我片段的迹象。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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