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

변수값 전달 관련 질문드립니다.

0 추천
public void run() {
                mainView.movement = true; // 버튼 움직임 가능
    progress01.setProgress(0);
        progress01.setMax(150);
                    
        try {                          
                    for(int i = 0; i<= 150; ++i){              
        Thread.sleep(150);
                            handler.post(new Runnable() {
                                @Override
                                public void run() {
                                    progress01.incrementProgressBy(1); // 프로그래스바 진행
                                     final TextView tvi = (TextView)findViewById(R.id.textView1); // 텍스트뷰 가져옴
                                    r=0; // 점수 초기화
                                    tvi.post(new Runnable(){
                                    public void run(){
                                    r = MainView.score; // 메인뷰에서 점수 가져와서 새 변수로 선언                                  
                                    r *=100; 
                                    tvi.setText("Score : "+r); // 스코어 출력
                                    }
                                    });
                                }
                            });
                        }
                        
                    handler.post(new Runnable() {
                            @Override
                            public void run() {
                            mp5.start(); // 전장의 화신
                            mainView.movement = false; // 메인뷰 게임화면 터치 작동 x
                            request(); // 다이얼로그 호출
                           
                            }
                        });
                   
                    } catch (InterruptedException e) {e.printStackTrace();}
                }//여기까지 public void run 매서드
            }.start();// 스레드 부분
 
... 중략 
 
private void request(){
    String title = "Time Over";
    String message = "최종 스코어 : "+r;
    String titleButtonYes = "다시 시작";
    String titleButtonNo = "시작화면";
   
    AlertDialog dialog = makeRequestDialog(title, message, titleButtonYes, titleButtonNo);
    dialog.setCanceledOnTouchOutside(false); // 다이얼로그 이외의 화면은 아무 반응 없음
    dialog.setCancelable(false); //다이얼로그가 뜨면 뒤로가기버튼 막기
    dialog.show();
   
    }

이런식으로 소스를 만들었습니다. 게임 진행시간동안 실시간으로 점수 출력은 가능한데 게임이 끝나고

다이얼로그에서는 0값이 호출되네요.. 아무래도 변수를 다이얼로그 메소드쪽으로 전달하지 못해서인것 같은데

해결방법이 있는지 알고싶습니다.

내일부터 장마라는데 모두 조심하세요

코딩잘하고싶다 (980 포인트) 님이 2013년 7월 1일 질문

1개의 답변

0 추천
 
채택된 답변

해결했습니다.

리퀘스트함수에 
 
r = MainView.score; // 메인뷰에서 점수 가져와서 새 변수로 선언                                   
r *=100;
 
한번 더 써주니 되네요... 뭔가 갈수록 소스가 지저분해지는 기분이..
 
안드로이드는 처음 코딩해보는거라 ㅠ
코딩잘하고싶다 (980 포인트) 님이 2013년 7월 1일 답변
...