3

我已经制作了一个 View 实现 GLSurfaceView.Renderer 并实现了 onDrawFrame 函数。我要求像这样渲染:

@Override
    public void postInvalidate()
    {
        super.postInvalidate();
        requestRender();
    }

这个视图是由另一个视图添加的,它可以工作(绘制我想要的)。但我想在另一个视图中使用 GLSurfaceView.Renderer,所以我在第一个视图中将其删除并将其添加到第二个视图中,如下所示

m_oMapView = FirstView.getMapView();
        FirstView.remove();//oo
        SecondView = (RelativeLayout) findViewById(R.id.mapview);
        SecondView.addView(m_oMapView,new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT));
        m_oMapView.refreshDrawableState();
        m_oMapView.findViewWithTag("map").bringToFront();

在我将它添加到secondView之后,requestRender似乎不起作用,我强制调用,但是ondrawFrame函数永远不会执行。requestRender之后没有调用ondrawFrame有什么原因吗?

4

0 回答 0