我们有一个MainActivity。 在这个Main上我想显示我的SurfaceView,但是只有点击了一个按钮。 因此,当main启动并且用户单击一个按钮时,SurfaceView应该出现,并且看起来它应该超出onCreate-Method。
但它不起作用。
我的所有代码都在这个构造函数中:
public GameView(Context context, AttributeSet attrs)
所以这个应该被使用,但我不知道该怎么做:/
编辑:
XML格式的代码:
<de.apex.viewer.view.GameView
android:id="@+id/gameView1"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
android:layout_marginLeft="94dp" />
以下是主要的代码:
public void displayGameView(View view)
{ // here I need code to "recreate" my gameView
}
这里应该显示GameView中的一些代码:
public class GameView extends SurfaceView {
public GameView(Context context, AttributeSet attrs)
{
super(context, attrs);
surfaceHolder = getHolder();
surfaceHolder.addCallback(new SurfaceHolder.Callback()
{
public void surfaceDestroyed(SurfaceHolder holder)
{}
public void surfaceCreated(SurfaceHolder holder)
{
// here is my code I want to execute
Canvas theCanvas = surfaceHolder.lockCanvas(null);
HouseInRow = DefineRowCount(arraylength);
GesamtZahl = HouseInRow*2+HouseInColumn*2;
System.out.println("Houserow: " + HouseInRow);
public void surfaceChanged(SurfaceHolder holder, int format,int width, int height)
{}
});
}