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

이코드에서 문제가 뭔가요 ???

0 추천

버튼을 눌렸을 시 5초뒤에 종료 되게 만든건대, 몇초 남았는지 설명을 해주려고 하는대, 1초 남았을 시에만 TextView에 출력이 됩니다. 이유가 뭔가요 ...? 종료는 5초뒤에 되는거 같은대 ... TextView가 제대로 출력이 안되내용 ㅠㅠ 살려주세요~

 

public void mOnClose(View v){
    String text = null;
    TextView second = (TextView)findViewById(R.id.second);
    for(int i = 5;i>0;i--) {
        text = i+"초 후에 종료됩니다.";
        second.setText(text);
        SystemClock.sleep(1000);
    }
    finish();
    
}
프리라인 (360 포인트) 님이 2017년 9월 29일 질문
제가 하고잇는 소스에 textview는 안붙이고 log로만 5,4,3,2,1 출력하게 했는데
잘 나오네요.1초까지도요.

2개의 답변

0 추천
코드상에 이상은 없어보입니다.

디버깅을 통한 테스트나 로그를 찍어보세요
qweqweq (4,220 포인트) 님이 2017년 9월 29일 답변
디버깅을 했을시 , 값은 잘 전달 되지만, TextView에는 잘 안나옵니다 ㅠㅠ
0 추천
텍스트뷰어에 글자가 나타나지 않는것을 떠나서 아주 심각한 코드로 보여집니다.

위와 같은 코드로는 UI 쓰레드가 5초간 묶여있을 것으로 판단됩니다.

Handler를 이용해서 비동기로 처리하시는 것을 추천드립니다.
바램 (19,650 포인트) 님이 2017년 9월 29일 답변
비동기 방식이라 하믄, Service를 이용 하라는 건가요?? 아직 안드로이드 초보자라 ㅠㅠ
...