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

스레드를 하나도 모르겠습니다.

–1 추천
package com.example.apic1;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {
 
 final TextView leftText = (TextView) findViewById(R.id.left_text);
    final TextView rightText = (TextView) findViewById(R.id.right_text);
    final EditText leftTextEdit = (EditText) findViewById(R.id.left_text_edit);
    final EditText rightTextEdit = (EditText) findViewById(R.id.right_text_edit);
    
    Button leftButton = (Button) findViewById(R.id.left_text_button);
    Button rightButton = (Button) findViewById(R.id.right_text_button);
 
 Handler handler = new Handler() {
  public void handleMessage(Message msg) {
   if (msg.arg1 == 0) {
    leftText.setText((CharSequence) leftTextEdit);
   } else {
    rightText.setText((CharSequence) rightTextEdit);
   }
  }
 };

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  Button btn1 = (Button) findViewById(R.id.button1);
  
  btn1.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    
    new Thread(new Runnable() {
      public void run() {
       
       requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
             setContentView(R.layout.custom_title);
             getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
             
             
             
             
             leftButton.setOnClickListener(new OnClickListener() {
                 public void onClick(View v) {
                  Message message;
                  message = handler.obtainMessage();
                  message.arg1 = 0;
                  handler.sendMessage(message);
                 }
             });
             rightButton.setOnClickListener(new OnClickListener() {
                 public void onClick(View v) {
                  Message message;
                  message = handler.obtainMessage();
                  message.arg1 = 1;
                  handler.sendMessage(message);
                 }
             });
       
      }
    }).start();
   }
  });
 }
}


 

 

 

스레드에서 ui 를 핸들러로 변경했는데 왜 실행하면 어플이 다운되는지 모르겠습니다

답변 부탁드립니다...

익명사용자 님이 2013년 9월 30일 질문

3개의 답변

+1 추천
쓰레드가 불필요해보입니다.
앱개발잼나 (1,450 포인트) 님이 2013년 9월 30일 답변
0 추천
건방진프로그래머 (26,630 포인트) 님이 2013년 9월 30일 답변
0 추천
       requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
             setContentView(R.layout.custom_title);
             getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
 
같은 코드는 메인스레드에서 실행해야 합니다.
익명사용자 님이 2013년 9월 30일 답변
...