我们有一个 MainActivity。在这个 Main 我想显示我的 SurfaceView,但前提是单击按钮。因此,当主程序启动并且用户单击一个按钮时,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)
{}
});
}