안드로이드 개발 질문/답변
(글 수 45,052)
아래 코드 처럼 스레드로 돌고 있는 A클래스에서 액티비티를 상속받은 BC클래스를 호출할려고 합니다.
인텐트를 이용하면 자꾸 다운이 되는데, 액티비티를 호출하는 방법을 잘 모르겠습니다. 아시는분 있으시면 알려주세요..
public class A implements Runnable{
}
↓ 호출
public class BC extends Activity{
}
인텐트를 이용하면 자꾸 다운이 되는데, 액티비티를 호출하는 방법을 잘 모르겠습니다. 아시는분 있으시면 알려주세요..
public class A implements Runnable{
}
↓ 호출
public class BC extends Activity{
}
2011.03.07 02:56:53
핸들러 이용해서 UI 스레드에서 activity를 생성하면 될것 같습니다.
다음을 참고하세요
public class Test extends Activity implements OnClickListener {
private static final int MESSAGE = 1;
private Button startButton;
private Handler handler;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startButton = (Button)findViewById(R.id.startButton);
startButton.setOnClickListener(this);
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch(msg.what) {
case MESSAGE:
Intent i = new Intent(Test.this, SubActivity.class);
startActivity(i);
break;
}
}
};
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.startButton:
new Thread(new Runnable() {
public void run(){
for(int i=0; i<10; i++) {
SystemClock.sleep(500);
}
handler.sendMessage(handler.obtainMessage(MESSAGE));
}
}).start();
break;
}
}
}



