2017-05-09 5 views
0

私は音楽用のアプリを作成しようとしています。これはAndroid Studioで開発中です。ボタンを離したときにこのボタンを押して音を鳴らしてから、ボタンを離したときに止めてもらいたいですが、動作させることはできません。AndroidスタジオOnTouchListener

import android.media.MediaPlayer; 

import android.os.Bundle; 

import android.support.v7.app.AppCompatActivity;  

import android.view.MotionEvent; 

import android.view.View; 

import android.widget.Button; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     final MediaPlayer minus5 = MediaPlayer.create(this, R.raw.min5); 

     final Button play_min5 = (Button) this.findViewById(R.id.min5); 

     play_min5.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      switch (event.getAction()) { 
       case MotionEvent.ACTION_DOWN: 
        // PRESSED 
        minus5.start(); 
        return true; // if you want to handle the touch event 
       case MotionEvent.ACTION_UP: 
        // RELEASED 
        minus5.stop(); 
        return true; // if you want to handle the touch event 
      } 
      return false; 
     } 
    }); 

} 

}

+1

「作業していない」とはどういう意味ですか? – etan

+0

ボタンは単に押されません。私はClicklistenerを使用する場合、私は音を再生することができます。だから私の推測は、私が書いたコードに何か問題があったということです。 –

+0

「ボタンは単に押さない」とはどういう意味ですか?ボタンが押されていることを示す視覚的インジケータは表示されませんか?あなたのイベントは誘発されていませんか?どちらも? – Denny

答えて

0

、このいずれかを試してみてください。 falseの代わりにtrueを返すだけで、チャームのように動作します。

play_min5.setOnTouchListener(new View.OnTouchListener() 
{ 
    @Override 
    public boolean onTouch(View v, MotionEvent event) 
    { 
     // Your code here 
     return true; 
    } 
});