android 유튜브 재생시 다이얼로그 질문입니다.

조회수 1476회
private YouTubePlayer.PlaybackEventListener playbackEventListener = new YouTubePlayer.PlaybackEventListener()
    {
        @Override
        public void onPlaying() {
            ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
            boolean isMobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
            Log.d("isMobile", "Mobile-Check" + isMobile+":");
            boolean isWifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
            Log.d("isMobile", "Wifi-Check" + isWifi+":");
                if (isMobile && !isWifi) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(Handdrip.this);
                    builder.setTitle("알림")
                            .setMessage("현재 3g/4g로 접속중입니다. WIFI연결이 아닐시 데이터 통화료가 부과 될수도 있습니다. 계속 하시겠습니까?")
                            .setPositiveButton("확인", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                playbackEventListener.onPlaying();
                                }
                            })
                            .setNegativeButton("취소", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    finish();
                                }
                            });
                }
            }

이렇게 구현을 해봤는데요.. 일단 인터넷 체크는 되는데 아직도 제 실력이 낮네요 ㅠㅠ 아예 잘못하고 있는걸까요? 플레이를 누를때 아무 반응이 없네요

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • AlertDialog.Builder로 일련의 값을 설정한 후 show() 함수를 호출해야 다이얼로그가 화면에 노출됩니다. 작성하신 코드에서 아래처럼 show() 함수를 추가해보세요.

    ...
    .setNegativeButton("취소", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            finish();
        }
    }).show();
    
    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 감사합니다 감사합니다 그걸 빼먹었군요 ㅠㅠ 매번 감사드려요 로니님 알 수 없는 사용자 2016.8.28 23:13
  • 현재 코드 상에서는 AlertDialog.Builder 를 통해 다이얼로그 창의 옵션들을 셋팅했다고 보면 됩니다.

    셋팅을 했으니 이제 아래코드를 추가하여 보여줘야합니다.

    두가지 방법이 있습니다.

    // 1. builder.create 를 통하여 AlertDialog 객체를 만든 후 show() 메서드 호출
    
    AlertDialog alertDialog = builder.create();
    alertDialog.show();
    
    // 2. builder 의 마지막 메서드인 setNegativeButton() 에서 Show() 메서드를 호출
    
    .setNegativeButton("취소", new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialogInterface, int i) {
                                        finish();
                                    }
                                }).show();
    
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)