2015-04-23 1 views
2

Je sais que si vous voulez vérifier si quelqu'un a cliqué sur quelque chose, vous feriezComment vérifier si l'écran n'a pas été cliqué dans Android?

if(event.getAction() == MotionEvent.ACTION_DOWN) 

Mais je veux vérifier si l'écran n'a pas été cliqué tout. Quel est le code que je produirais pour faire ceci?

En outre, comme une note de côté, serait-il une bonne idée d'avoir toutes les classes dans une application Android View étendre les cours?

+0

Je voudrais pouvoir voter à la fois les réponses vers le bas car ils ne répondent pas à la question –

Répondre

2

Créer une variable boolean appelée istouched et utiliser onTouchLisener sur votre plus haut sommet View fait son un Window qui est l'endroit où vos View s sont, échantillon rapide

getWindow().getDecorView().setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View arg0, MotionEvent event) { 
      if(event.getAction() == MotionEvent.ACTION_UP){ 
       // i have been touched 
       istouched = true; 
       Toast.makeText(getBaseContext(), "you touched me?!! - i will tell my mom", Toast.LENGTH_SHORT).show(); 
       return true; 
      } 
      if(event.getAction() == MotionEvent.ACTION_DOWN){ 
       // you can implement this 
       Toast.makeText(getBaseContext(), "shhh; i am touching", Toast.LENGTH_SHORT).show(); 
       return true; 
      } 
      return false; 
     } 
    }); 

si la logique est ici si istouched est false votre appareil ne dit pas à sa mère , ce qui signifie qu'il n'a pas été touché ..

espérons que cela aide

+0

haha ​​vous devriez faire une application –

+0

qu'est-ce que le boolean istouched il? –

+0

lol, Eh bien, j'espère que vous, (: .. Monsieur, le booléen 'istouched' est ce que je vous ai dit de créer dans la description, donc une variable d'instance dans votre classe' Activity', par défaut son faux .. btw , un peu upvote pourrait aussi être apprécié (@PaulTrueman – Elltz

0

L'une des façons consiste à ajouter android:onClick="method" à la disposition racine dans votre fichier xml.

Dans la méthode, vous pouvez remplacer une variable boolean par true (screenClicked = true).

+0

aussi vous pouvez simplement créer un onClickListener .. mais je préfère la première façon – dor00012