티스토리 뷰
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)
반응형
'프로그래밍 > Android' 카테고리의 다른 글
[Android] static member accessed via instance reference (0) | 2017.11.09 |
---|---|
[Android] RecyclerView 에서 DataBinding (0) | 2017.10.30 |
[Android] 메모리관리 (0) | 2017.10.29 |
[Android] This Handler class should be static or leaks might occur (0) | 2017.10.29 |
[Android] Adapter.notifyDataSetChanged() (0) | 2017.09.29 |
공지사항
최근에 올라온 글