1

我有一个看起来像这样的自定义 SurfaceView:

public class GFXSurface extends Activity implements OnTouchListener 
{
    .
    .
    GameSurface gameSurfaceView;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game); 
        gameSurfaceView = (GameSurface)findViewById(R.id.svgame);
        fullscreen();
        initialize();
    }
    .
    .
    .
    public class GameSurface extends SurfaceView implements Runnable 
    {
        .
        .
        public GameSurface(Context context) 
        {
            super(context);
            ourHolder = getHolder();
        }
        .
        .
        .
    }
}

我的问题是如何在我的 xml 布局中引用它?

我正在使用 xml 布局,因为我需要在该表面视图之上添加一些东西

我尝试了几种方法,但都失败了......

这不起作用:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" >

  <com.bla.bla.GFXSurface.GameSurface
    android:id="@+id/svgame"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
 .
 .
 .
</FrameLayout>

非常感谢你的帮助!!!!

4

1 回答 1

2

您的GameSurface课程必须是静态的。您不能在布局中使用非静态嵌套类,因为您需要外部类实例来创建此类的对象。

于 2012-07-20T14:13:55.673 回答