0

我有一个 GLSurfaceView,当用户点击一个按钮时,它会用默认颜色绘制一些三角形。然后,当用户从我的充气菜单中选择一种颜色时,它将重新绘制具有该特定颜色的三角形。它以一种奇怪的方式工作,起初它确实绘制了三角形,当我选择不同的颜色时,它不会用不同的颜色重新绘制。但是,当我关闭手机并重新打开时,颜色发生了变化。

这是我的代码:

//------------------------------------------------------------------------------------------------  
    public boolean onCreateOptionsMenu(Menu menu)
    {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.issm_menu,menu);

        return true;
    }
//------------------------------------------------------------------------------------------------
   public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId())
        {
            case R.id.menu_about:          
                Toast.makeText(ISSM.this, "ISSM Application", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.cl_autumn:
                colorMap.setAutumn();
                drawFigure();
                return true;

            case R.id.cl_bone:
                colorMap.setBone();
                drawFigure();
                return true;

                default:
                       return true;
     }

    public void onClick(View view) 
    {
        this.fillBuffer();
        drawFigure();
    }
//---------------------------------------------------------------------------------- 
    public void drawFigure()
    {
        mGLView = new MyGLSurfaceView(this, buff, size, colorMap);;
        frame.addView(mGLView);
    }

我希望一旦我点击菜单中的颜色,颜色就会改变,我不想关闭和打开(顺便说一下,不是完全关闭电源,就像睡眠和唤醒一样)

4

1 回答 1

0

解决了,我需要先调用 frame.removeView() 然后添加另一个视图。

于 2012-12-14T17:56:16.457 回答