在ADT中重新创建视图

时间:2013-06-16 10:25:23

标签: android eclipse constructor adt surfaceview

我们有一个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) 
       {}
       });    
        }

0 个答案:

没有答案