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 를 핸들러로 변경했는데 왜 실행하면 어플이 다운되는지 모르겠습니다 답변 부탁드립니다...
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.custom_title);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
같은 코드는 메인스레드에서 실행해야 합니다.