2013-08-04 1 views
-2

저는 3 개의 활동이있는 간단한 비디오 플레이어가 있습니다. 내 마지막 활동에 내가 가지고finish()가 주 활동으로 이동합니다.

player.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      if (event.getAction() != KeyEvent.ACTION_DOWN) 
       return false; 

//

나는 정지를 누를 때이 원하는 정확히 수행
  case KeyEvent.KEYCODE_MEDIA_STOP: 
        finish(); 
        return true; 

: 이전 작업

하지만 나를 필요 ..

player.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
     @Override 
     public boolean onError(MediaPlayer mediaPlayer, int i, int i2) { 
      player.setVisibility(View.GONE); 
      buffering.setVisibility(View.GONE); 
      errorDialog.setVisibility(View.VISIBLE); 
      return true; 
     } 
    }); 

errorDialog에는 내가 눌렀을 때 finish()를 호출하는 작은 버튼이 있습니다.이 버튼을 누르면 나를 다시 활성 상태로 되돌립니다. ity (1st one) 이전 하나 (2nd one)가 아니고, 왜 그랬는지 이해가 안되요 .even은 finish() 함수를 사용하여 새로운 메소드를 만들려고했지만 여전히 똑같은 일을합니다. 시간과 지원에 감사드립니다.

+0

여기서 'finish()'를 호출하는 대화 상자의 코드는 무엇입니까? –

+0

"대화 상자"는 나를 만든 맞춤 검색 버튼입니다.

+0

형식이 지정된 XML을 포함하도록 원래 질문을 편집하십시오. 또한, 일반적으로'android : onClick'은 * 당신이 작성한 함수의 이름으로 설정되어야합니다. 이 경우,'finish()'는 아마도 당신이 원하는 것을하지 않을 것입니다. –

답변

3

귀하의 전화는 finish()입니다. 대화 상자를 종료하려면 cancel()을 사용해야합니다.

+0

지금 시도 : 똑같은 행동 : 똑바로 주 활동으로 돌아가서 내가 원하는 것은 curent 활동 마녀가 3 번째이고 이전 (2 번째)으로 돌아 가기 – user2651206

+0

onError 메소드에서 false를 반환하려고 시도 했습니까? 그것은 사실에 대한 활동을 죽인다. – Robadob

+0

만약 내가 false로 바꾼다면, 그 기능을 바꾸면 그냥 비디오를 재생할 수 없다는 오류 메시지가 뜨고 더 많은 fuctionality를 추가하고 싶습니다. – user2651206

0

대화 상자는 새로운 활동이 아니며 현재 활동의 일부 또는 하위 항목입니다. 버튼을 누르면 화면에 나타나는 대화 상자를 숨기거나 제거하려고하므로 cancel()`` instead. finish()`를 사용하면 현재 활동이 삭제됩니다.

case KeyEvent.KEYCODE_MEDIA_STOP: 
       cancel(); 
       return true; 
+0

MEDIA_STOP은 내가 원하는 것을 수행합니다. 현재 활동을 닫고 이전 활동으로 돌아갑니다. 두 번째 것은 이전 활동 대신 주요 활동으로 되돌아갑니다. – user2651206