2010-06-09 119 views
2

我剛開始使用Android,我正在製作一個簡單的動態壁紙。我正在2.1模擬器上測試它。在選擇「設置壁紙」之前,它在預覽屏幕中工作時遇到的麻煩是,一旦將觸摸事件選擇爲牆紙,觸摸事件不會顯示在屏幕上。我是否需要在清單中聲明關於觸摸事件的任何內容以使其起作用?有點困惑,爲什麼它會在一個而不是另一個。Android動態壁紙觸摸事件

public void handleTouchEvent(MotionEvent event) { 
    if(event.getAction() == MotionEvent.ACTION_UP) { 
     //add new BulletHole 
     int x = (int)event.getX(); 
     int y = (int)event.getY(); 
     synchronized(holes) { 
      holes.add(new BulletHole(x,y)); 
     } 
    } 

    this.pause = false;  
    synchronized(this) { 
     notify(); 
    } 
} 

回答

2
@Override 
    public void onCreate(SurfaceHolder surfaceHolder) { 
     super.onCreate(surfaceHolder); 

     // By default we don't get touch events, so enable them. 
     setTouchEventsEnabled(true); 
    } 

???這條縫有幫助嗎?

+1

非常感謝,但事實並非如此。我已經意識到onCreate函數在設置壁紙時未被調用。然而,重新啓動電話,會叫它! – Garcon 2010-08-28 10:18:01

1

我知道這個問題有點老了,但這適用於所有那些在使用Google搜索時偶然發現的問題。小心使用setTouchEnabled函數 - 它適用於2.1和2.1,但在Android的所有更高版本中,它會使應用程序崩潰。