Different responses per defferent touch events
<p>I finally figured out how to enable multitouch, after about a week of trial and error. I've encountered another problem, however. First of all, let me give an explanation of my app.</p>

<p>This is a pretty basic app. When you touch AREA_A on the screen, it will play SOUND_A. When you touch AREA_B on the screen, it will play SOUND_B. Pretty simple. I wanted this to work with multitouch, so I used an OnTouch event. I am now able to touch AREA_A and AREA_B on the screen at the same time, and get a sound out of both areas (proof that multitouch is working), but here's the problem. If I start touching AREA_A, and hold my finger there, then touch AREA_B (With my first finger still touching AREA_A), instead of hearing SOUND_B, I hear SOUND_A being played. I am baffled at why this is happening. I think things will be more clear if I paste the code, so here it is. 
(I went ahead and added my entire class, just so you could examine it from start to finish).</p>

<pre><code>package com.tst.tanner;

import android.app.Activity;
import android.graphics.Color;
import android.media.AudioManager; 
import android.media.SoundPool;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;


public class sp extends Activity implements OnTouchListener {
private SoundPool soundPool;
private int bdsound, sdsound;
float x, y;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // Set the hardware buttons to control the music
    this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
    // Load the sound
    View v = (View) findViewById(R.id.view1);

    v.setOnTouchListener(this);

    soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
    bdsound = soundPool.load(this, R.raw.kickdrum1, 1);
    sdsound = soundPool.load(this, R.raw.sd, 1);

}

@Override
public boolean onTouch(View v, MotionEvent e) {
    // TODO Auto-generated method stub
    x = e.getX();
    y = e.getY();


    v.setBackgroundColor(Color.rgb(236,234,135));
    switch (e.getActionMasked()) {
    case MotionEvent.ACTION_DOWN:

        if (x &gt; 1 &amp; x &lt; 200 &amp; y &gt; 1 &amp; y &lt; 200) {
            soundPool.play(bdsound, 10, 10, 1, 0, 1);
        }
        if (x &gt; 1 &amp; x &lt; 200 &amp; y &gt; 200 &amp; y &lt; 400) {
            soundPool.play(sdsound, 10, 10, 1, 0, 1);
        }

        break;

    case MotionEvent.ACTION_POINTER_1_DOWN:

        if
        (x &gt; 1 &amp; x &lt; 200 &amp; y &gt; 1 &amp; y &lt; 200) {
            soundPool.play(bdsound, 10, 10, 1, 0, 1);
        }
        if (x &gt; 1 &amp; x &lt; 200 &amp; y &gt; 200 &amp; y &lt; 400) {
            soundPool.play(sdsound, 10, 10, 1, 0, 1);
        }

        break;


    case MotionEvent.ACTION_UP:


        v.setBackgroundColor(Color.BLACK);

    }

    return true;
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    soundPool.release();
    finish();
}
}
</code></pre>

<p>Does anyone know what I am doing wrong? Thanks in advance! </p>
