프로그래밍/Android
[Android] Handler.handleMessage() 사용
DwEnn
2017. 10. 29. 20:48
728x90
반응형
Handler.handleMessage() 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | private final MyHandler handler = new MyHandler(this); private static class MyHandler extends Handler { private final WeakReference<MainActivity> weakReference; public MyHandler(MainActivity activity) { this.weakReference = new WeakReference<MainActivity>(activity); } @Override public void handleMessage(Message msg) { switch (msg.what){ case MESSAGE : { weakReference.get().textView.setText("변경됨"); } } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.handle_msg); textView = (TextView) findViewById(R.id.textView); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Message message = new Message(); message.what = MESSAGE; handler.handleMessage(message); } }); } | cs |
이렇게 Message를 보내는 것으로
간단히 원하는 기능을 수행할 수 있다
+
핸들러를 만들 때 특정 루퍼를 지정하지 않으면,
인스턴스화되는 스레드에 기본 루퍼가 사용된다
(Main UI Looper)
반응형