L'activité onTouchEvent() n'est pas appelée en cliquant sur le Bouton

Je veux faire un B. logique dans Activity.onTouchEvent() méthode. Il fonctionne très bien pour TextView et d'autres non cliquable points de vue. Cependant, il n'est pas appelé uponclicking de Button. Mais j'ai besoin que trop.

Voici le code.

public class MainActivity extends Activity {
    private static final String TAG = MainActivity.class.getSimpleName();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.button1).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Oh shit!! click performed... :(", Toast.LENGTH_LONG).show();

            }
        });



    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log.d(TAG, "ssssssssssssssssssssssss:touch");
        return super.onTouchEvent(event);
    }

    public boolean dispatchTouchEvent(MotionEvent event) {
        int eventaction=event.getAction();

        switch(eventaction) {
        case MotionEvent.ACTION_MOVE:
            break;
        default:
            break;
        }

        return super.dispatchTouchEvent(event);
    }

}

Merci de m'aider à faire le tri de ce.

Pour les docs, de l'Activité.onTouchEvent() est appelée uniquement "lorsque un écran tactile de l'événement n'a pas été gérée par les avis en vertu de l'". Depuis votre bouton consomme/gère l'événement de touche, l'activité n'est pas la réception de l'appel. Le TextViews ne consomme pas l'événement click. Que vous observez serait le comportement attendu.
J'ai ajouté à la solution ci-dessous par la manipulation de l'Activité.dispatchTouchEvent() la méthode.

OriginalL'auteur Noundla Sandeep | 2013-04-01