3

View に GLSurfaceView.Renderer を実装し、onDrawFrame 関数を実装しました。私はこのようにRenderを要求します:

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

このビューは別のビューによって追加され、機能します(必要なものを描画します)が、GLSurfaceView.Rendererを別のビューで使用したいので、最初のビューでそれを削除し、このように2番目のビューに追加しました

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