2017-12-08 11 views
0

アンドロイドスタジオプロジェクトにボタンがあり、ボタンを3つの異なる操作を実行するようにします。まず、クリックされたとき。第二に、それが押されたとき、そして最後に、それが解放されたとき。私はonTouchリスナーを使用してみました:ボタンをクリック、押し下げ、リリースする

button.setOnTouchListener (new View.OnTouchListener){ 
     @Override 
     public void onTouch (MotionEvent motionEvent) 
      switch (motionEvent.getAction()){ 
       case MotionEvent.ACTION_DOWN: 
        //record video 
       return true; 
        case MotionEvent.ACTION_UP: 
        //stop record 
        return true; 

      } 
       return true; 
     } 
    } 

    button.setOnClickListener(new View.OnClickListener){ 
      @Override 
      public void onClick (View view){ 
       //capture image 
      } 
     } 

問題は、ボタンをタップしたとき、それはexecptionを生成し、

答えて

-1

onTouchListenerをクラッシュさせる私のアプリを起こしたら助けるためにあるべきであり、以下のコードがあるべきであり、できる:

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

});

+0

元のコードから何を変更しましたか?あなたは何が変わったのか、そしてなぜそれが助けになるべきかを説明することはより良いでしょう。例えば、 'view'はどこから来ましたか? – codeMagic

+0

例外コードを投稿すると、そのコードがうまく動作するので、私のアンドロイドアプリを投稿してください。 –

関連する問題