2010-06-09 5 views
2

Je viens de commencer avec Android, je fais un simple fond d'écran en direct. Je le test sur un émulateur 2.1. Le problème est que pendant qu'il fonctionne dans l'écran de prévisualisation avant de choisir "Définir le papier peint", les événements tactiles ne s'affichent pas à l'écran une fois que vous l'avez sélectionné comme fond d'écran. Ai-je besoin d'indiquer quelque chose dans le manifeste sur les événements tactiles ou de le faire fonctionner? Un peu confus pourquoi cela fonctionnerait dans un et pas l'autre.Android Live Wallpaper événements tactiles

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(); 
    } 
} 

Répondre

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

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

??? Est-ce que cette couture aide?

+1

Merci beaucoup, mais ce n'est pas le cas. J'ai réalisé depuis que la fonction onCreate n'est pas appelée quand le fond d'écran est défini. Redémarrer le téléphone, cependant, l'appellera! – Garcon

1

Je sais que cette question est un peu ancienne, mais cela vaut pour tous ceux qui ont trébuché là-dessus en recherchant sur Google. Soyez prudent avec la fonction setTouchEnabled - cela fonctionne parfaitement pour 2.1 et 2.1, mais sur toutes les versions supérieures d'Android, il bloque l'application.

Questions connexes