마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

노래가 끝난후에 작동하는 코드에 this를 쓰고 싶어요.

0 추천
mPlayer1.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){

            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {

            }

        });

저 mPlayer1를 "현재 재생중인 음악" 으로 바꾸고싶어서 this를 썼는데 오류가 나네요..

어떻게 해야 될까요..

 

아니면 반복문을써서 mPlayer+i를 하는게 나을까요?

그리고.. 기초적인걸 물어봐서 죄송하지만

mPlayer+i를 안드로이드에서는 어떤식으로 써야할지 .. 모르겠습니다 ㅠ_ㅠ

액션스크립트에서 this["mPlayer"+i] 이렇게하면 되서 혹시나하고 해봤는데..ㅎ 안되더라구요.. 인터넷에서 찾아보려했는데 키워드가 생각나지 않아서 못찾았습니다.. 이것도 같이 알려주시면 감사하겠습니다..

꿀로이드 (550 포인트) 님이 2015년 6월 16일 질문
꿀로이드님이 2015년 6월 16일 수정

2개의 답변

+1 추천
 
채택된 답변
기본 서적 한권 사서 차분히 보시는게 좋지 않을까요..?

액션 스크립트에서 넘어오셨으면....

일단 배열을 명시적으로 해서 하셔야할텐데요...

그리고 this 는 현재 클래스 안쪽에서 자신을 스스로 가리킬때만 포인터로서 쓰는거라 아무데나 쓰는건 아닙니다.
익명사용자 님이 2015년 6월 16일 답변
꿀로이드님이 2015년 6월 16일 채택됨
저도 기초부터 차근히 하고싶지만.. 교수님께서 가르쳐주지 않으신 내용을.. ㅠㅠ 만들어내길 바라십니다.. 기말과제+졸작이라 내일 중간과정을 제출해야해요..
원론적으로보면, 교수가 직접 시시콜콜 가르치지 않은 것을 스스로 공부해서 해내는 것이 실력이고 대학공부죠.
mPlayer1을 배열로 선언해야하고, 그 다음에 i로 참조해야죠,.
Player [] mPlayer = new Player(10); //10개짜리배열
mPlayer[0] = new Player();
..10개 반복

그리고나서야 인덱스로 써야죠.
넵..... 감사합니다
+1 추천
클래스명.this 로 사용해보세요

가령 MainActivity 내에서 실행 하였다면 MainActivity.this.yourMethod 인거죠
aucd29 (218,390 포인트) 님이 2015년 6월 16일 답변
MusicSubActivty.this.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){

            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {

            }

        });



can not resolve method..
에러 나네요..
-_ -);;
onCompletion 안에 Activity 를 접근하는 걸 물은걸로 알았군요;;

Player 에 Event Listener 이므로 setOnCompletionListener 를 this 로 사용하실 수는 없습니다.
...