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

멈춰버린 액티비티 핸들러 [closed]

0 추천

제가 핸들러를 연습삼아 시계를 만들고 있습니다.

 

이런식로 만들면 

editText.setText(String.valueOf(hour));
여기서 부터 멈춰버립니다.. 이유가 뭘까요..?
public class MainActivity extends Activity {


    EditText editText;
    EditText editText1;
    EditText editText2;
    final Handler handler = new Handler();

    int sec=0,min=0,hour=0;
    boolean aBoolean=false;

    public void onCreate(Bundle save){
        super.onCreate(save);
        setContentView(R.layout.activity_main);
        editText= (EditText) findViewById(R.id.editText);
        editText1= (EditText) findViewById(R.id.editText1);
        editText2= (EditText) findViewById(R.id.editText2);
        Button button = (Button) findViewById(R.id.startbtn);
        button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        handler.post(new Runnable() {
                            public void run() {
                                aBoolean=true;
                                while(aBoolean){
                                    try {
                                        Thread.sleep(1000);
                                    } catch (InterruptedException e) {
                                        e.printStackTrace();
                                    }
                                    sec++;
                                    if(sec==60){
                                        sec=0;
                                        min++;
                                        if(min==60){
                                            min=0;
                                            hour++;
                                        }
                                    }
                                    editText.setText(String.valueOf(hour));
                                    editText.setText(String.valueOf(min));
                                    editText.setText(String.valueOf(sec));
                                }
                            }
                        });

                    }
                }).start();
            }
        });
질문을 종료한 이유: 문제를 해결했습니다.
>닫아 (210 포인트) 님이 2016년 2월 18일 질문
>닫아님이 2016년 2월 18일 closed

1개의 답변

0 추천
자답입니다.

핸들러말고 Asynctask로 다르게 풀었습니다. 기쁘다 ㅎㅎ
>닫아 (210 포인트) 님이 2016년 2월 18일 답변
...