Android Handler sendMessage和 sendMessageDelayed的使用
生活随笔
收集整理的這篇文章主要介紹了
Android Handler sendMessage和 sendMessageDelayed的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sendMessage :立即發送消息
sendMessageDelayed:指定多少毫秒后發送消息。
其實常用的還有2個
sendEmptyMessage?發送空消息, ?一般自己想把某種操作放到子線程里面
sendEmptyMessageDelayed?指定多少毫秒后發送空消息, ?一般我們做延時操作的時候使用到
如果對sendEmptyMessage 和 sendEmptyMessageDelayed 的使用也是模糊可以點擊查看我的這邊文章
下面同一個demo 來學習sendMessage和 sendMessageDelayed的使用
public class MainActivity extends AppCompatActivity implements Handler.Callback {private Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);handler = new Handler(this);// 這里消息表示666 和999 是自己隨便取的runOnUiThread(new Runnable() {@Overridepublic void run() {Message msg = Message.obtain();msg.what = 666; // 消息標識handler.sendMessage(msg);}});runOnUiThread(new Runnable() {@Overridepublic void run() {Message msg = Message.obtain();msg.what = 999;handler.sendMessageDelayed(msg,5000);}});// new Thread() {
// @Override
// public void run() {
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// Message msg = Message.obtain();
// msg.what = 999; // 消息標識
// msg.obj = "A"; // 消息內存存放
// handler.sendMessageDelayed(msg,5000);
// }
// }.start();}@Overridepublic boolean handleMessage(@NonNull Message msg) {switch (msg.what) {case 666:Toast.makeText(this, "使用了sendMessage", Toast.LENGTH_SHORT).show();break;case 999:Toast.makeText(this, "sendMessageDelayed", Toast.LENGTH_SHORT).show();break;}return false;}@Overrideprotected void onDestroy() {super.onDestroy();if (handler != null) {handler.removeCallbacksAndMessages(null);handler = null;}}}
?
總結
以上是生活随笔為你收集整理的Android Handler sendMessage和 sendMessageDelayed的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比利牛斯山城是谁画的啊?
- 下一篇: Android OpenCV 边缘检测