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

안드로이드 핸들러 handler 로 UI ( textview 변경 ) 시에 textview가 변경되지 않습니다 ㅠㅠ

0 추천
public class test extends Activity {

 public static OnClickListener OCL;
 static TextView tv;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.test_layout);

  // 버튼
  Button btn = (Button) findViewById(R.id.button1);

  // 텍스트뷰
  tv = (TextView) findViewById(R.id.textview1);


  OCL = new OnClickListener() {
   Handler handler = new Handler();

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    new Thread(new Runnable() {
     public void run() {

      handler.post(new Runnable() {
       public void run() {

        tv.setText("아무리해도 안바뀝니다 ㅠㅠ");

       }
      });

     }
    });
   }
  };
  btn.setOnClickListener(OCL);
 }
}

핸들러를 연습해보고자 인터넷을 찾아 보며 한번 만들어본건데

결과를 보면 textview는 그대로네요 ㅠㅠ

종료되거나 하는 오류는 없습니다!

nandroid (1,620 포인트) 님이 2014년 8월 15일 질문

1개의 답변

0 추천
 
채택된 답변
해결했습니다!
.start();를 빼먹었었네요 ㅠㅠ


public class test extends Activity {
 
 public static OnClickListener OCL;
 static TextView tv;
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.test_layout);
 
  // 버튼
  Button btn = (Button) findViewById(R.id.button1);
 
  // 텍스트뷰
  tv = (TextView) findViewById(R.id.textview1);
 
 
  OCL = new OnClickListener() {
   Handler handler = new Handler();
 
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    new Thread(new Runnable() {
     public void run() {
 
      handler.post(new Runnable() {
       public void run() {
 
        tv.setText("아무리해도 안바뀝니다 ㅠㅠ");
 
       }
      });
 
     }
    }).start();
   }
  };
  btn.setOnClickListener(OCL);
 }
}

 

nandroid (1,620 포인트) 님이 2014년 8월 15일 답변
nandroid님이 2014년 8월 16일 채택됨
...