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

안드로이드 버튼 및 에딧텍스트 - 스레드 관계

0 추천
간단히 상황을 설명드리면

Button btn1, btn2;

btn1 = view.visible

btn 2 = view.gone

 

btn1.setOnClickListene({

   thread{

   특정동작

    btn.setVisible(View.visible);

    }.start()

});

즉 버튼1과 2가 있는데 1은 보이고 2는 안보이는 상태에서

버튼 1을 누르면 스레드가 동작하게 되고 이 스레드 안에서 어떤 동작을 수행하고 난 후에 버튼 2를 보이게 하려고합니다.

하지만 스레드 동작 중에서는 스레드내에서 무언가 View 오류가 발생해 버튼이나 텍스트를 바꾸지 못하는 오류가

발생하는 거 같고 스레드 이후에 코딩을 하면 코딩 순서(소스 위아래 순서) 와 관계없이 스레드가 가장 나중에

실행되는 바람에 버튼1을 한번만 누르면 바뀌지 않고 2번 눌러야 바뀌는 현상이 발생합니다.

이를 해결하려면 어떤 알고리즘으로 짜야할까요?
MarineSnow (750 포인트) 님이 2014년 1월 7일 질문

1개의 답변

+1 추천
 
채택된 답변
뷰의 변경은 메인쓰레드에서만 허용됩니다.

Activity.runOnUiThread 메소드를 이용하거나,

Handler를 통해 메세지를 전달하는 방법을 사용하시면 됩니다.
b22n (22,940 포인트) 님이 2014년 1월 7일 답변
MarineSnow님이 2014년 1월 7일 채택됨
...