2015-02-06 117 views
2

我有一個關於devoloping android應用程序的簡單問題。 問題是不同類型的按鈕。 例如,當我的手指在按鈕上,音樂是播放,但是當我的手指停止按鈕音樂時。我怎樣才能做到這一點。 İt可能是不同類型的按鈕事件,但我不知道。 我googleıt,但我找到任何東西。 PS:我可以開始,按正常按鈕停止進程。但我不能這樣做。 PS2:當我在論壇上搜索時,有人推薦使用MotionEvent,但我想我的motionEvent代碼已損壞。Android按鍵KeyDown - KeyUp |不同的按鈕事件

play1.setOnClickListener(new View.OnClickListener() 
{   
    public boolean onTouch(View v, MotionEvent event) 
    { 
     // TODO Auto-generated method stub 
     switch (event.getAction()) 
     { 
      case MotionEvent.ACTION_DOWN: 


       m1=MediaPlayer.create(MainActivity.this, R.raw.be); 
       m1.start(); 
       m1.setLooping(true); 

       break; 
      case MotionEvent.ACTION_UP: 
       m1.stop(); 
       m1.release(); 

       break;      
      default: 
       break; 
     } 
     return false; 
+0

您是否嘗試在您的switch語句之前初始化m1? – 2015-02-06 23:18:25

+0

讓我試試。你提到這個? m1 = MediaPlayer.create(MainActivity.this,R.raw.be); (我的理解很差,因爲我的英語很糟糕) – 2015-02-06 23:22:47

回答

2

好吧好吧我知道了。這是我的答案。

play1.setOnTouchListener(new View.OnTouchListener() { 





    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     int eventaction = event.getAction(); 
     switch (eventaction) { 
      case MotionEvent.ACTION_DOWN: 

       m1=MediaPlayer.create(MainActivity.this, R.raw.be); 
       m1.start(); 
       m1.setLooping(true); 
      return true; 

      case MotionEvent.ACTION_UP: 
      m1.stop(); 
      m1.release(); 

      break; 
     } 
     // tell the system that we handled the event but a further processing is required 
     return false; 

    } 


});