一度に 3 つのボタンをタッチできるようにして、別のボタンから指を離さずにボタンをタッチできるようにしたいと考えています。これまでのところ、ACTION_DOWN、ACTION_POINTER_1_DOWN、および ACTION_POINTER_2_DOWN をこの順序で使用しました。
public boolean onTouch(final View v, final MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
} else if (event.getAction() == MotionEvent.ACTION_POINTER_1_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
} else if (event.getAction() == MotionEvent.ACTION_POINTER_2_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
このプロジェクトを自分の携帯電話でコンパイルして実行しても、エラーや警告は発生しません。
しかし、2回目にタッチすると、1回目と同じ音が鳴ります。例: 指 2 がボタン 2 を押します (sound2 の再生中)。ボタン 2 を指 2 で押さえたまま、指 3 でボタン 3 をタッチします。
「return true」を試してみましたが、何も変わりませんでした。
少数の人々もこの問題を抱えていますが、これらのスレッドで実際に解決策を見つける人はいません.
アレックス
更新: どこをクリックしても問題ないことがわかりました。空白をクリックしても、もう一方の指がオンになっているボタンが再び反応します