SurfaceView與TextView可以混合應用嗎?

2010.01.04 06:38PM
SurfaceView與TextView可以混合應用嗎?

 請問SurfaceView與TextView可在同一個Activity混合使用嗎

目前有嘗試一些寫法,會在我點擊的時候,出現錯誤,強制關閉程式

 

目前的程式目的是在SurfaceView下點擊螢幕,會在TextView顯示點擊的座標

程式有點長附上原始碼

 

 

http://www.oz.stu.edu.tw/s95101216/www/Textgame.rar

3 則回應

  •  不按按鈕時SurfaceView/TextView上可不可以顯示東西?

    可以的話表示問題應該是在你按鈕執行的行為出錯吧

     

    2010-01-06
    • 不知道你解决了吗

      问题应该是出在你不能在SurfaceView宣告

      view_xy = (TextView) findViewById(R.id.xy);

      这样虽然不会有错,但是在

      view_xy.setText("座標:"+_x+"."+_y );

      的时候会找不到

      你应该在外面的Activity宣告view_xy,并把view_xy丢给SurfaceView

      这样就没问题了

      2010-11-17
    • gasolin wrote:

       不按按鈕時SurfaceView/TextView上可不可以顯示東西?

      可以的話表示問題應該是在你按鈕執行的行為出錯吧

       

       大大你好:

      我沒有弄按鈕耶QQ

       

      是可以隨意點擊螢幕上任何一個地方

      然後碰到的地方,會出現一個圖片,當我碰另一個地方,圖片會跟著過去

       

      我後來有稍微改一下內容,我貼上我"認為"重要的地方

      目前知道錯誤在哪幾行,只是程式碼顯示是正確,執行程式點擊之後才會出現錯誤強制關閉

       

         class Panel extends SurfaceView implements SurfaceHolder.Callback {
           private TutorialThread _thread;
           private int _x = 20;
              private int _y = 20;        
           public Panel(Context context) {
                  super(context);
                  getHolder().addCallback(this);
                  _thread = new TutorialThread(getHolder(), this);
                  setFocusable(true);
              }
       
                //註解一號
              private TextView view_xy;
              private void find_views()
              {    
               view_xy = (TextView) findViewById(R.id.xy);
               view_xy.setText("座標:"+_x+"."+_y );
              }
       
       
             @Override
              public boolean onTouchEvent(MotionEvent event) {
                  _x = (int) event.getX();
                  _y = (int) event.getY();
                 //註解二號 
                  find_views();
                  return true; 
              }
       
       
       
      會錯誤,主要是因為註解一號跟二號的關西,只要我拔掉那些地方,就能正常執行
       

       

      2010-01-14