记一次安卓Handler.removeMessages引发的问题 发表于 2018-06-23 123456789101112131415161718192021222324252627282930313233343536373839404142public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private static final int MESSAGE_WHAT_SAY_HI = 0; private static final int MESSAGE_WHAT_SAY_HELLO = 1; private static class MyHandler extends Handler{ @Override public void handleMessage(Message msg) { switch (msg.what){ case MESSAGE_WHAT_SAY_HI: Log.i(TAG, "hi"); break; case MESSAGE_WHAT_SAY_HELLO: Log.i(TAG, "hello"); break; } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Handler handler = new MyHandler(); long delayTime = 5000; handler.postDelayed(new Runnable() { @Override public void run() { Log.i(TAG, "en...."); } }, delayTime); handler.sendEmptyMessageDelayed(MESSAGE_WHAT_SAY_HI, delayTime); handler.sendEmptyMessageDelayed(MESSAGE_WHAT_SAY_HELLO, delayTime); handler.removeMessages(MESSAGE_WHAT_SAY_HI); }} 以上代码输入为:1hello 而不是:12en....hello