2014-01-12 67 views
0

我想在特定時間後調用某種方法。這正是我想要實現的:onClick按鈕該方法被調用,然後應用程序等待200ms並再次調用相同的方法。該方法,我在我的情況下談論這個樣子的:特定時間後調用方法

private void sendMessage(String message) { 
    if (mCommandService.getState() != CommandService.STATE_CONNECTED) { 
     Toast.makeText(this, R.string.title_not_connected, Toast.LENGTH_SHORT).show(); 
     return; 
    } 
    if (message.length() > 0) { 
     byte[] send = message.getBytes(); 
     mCommandService.write(send); 
     mOutStringBuffer.setLength(0); 
     mOutEditText.setText(mOutStringBuffer); 
    } 
} 

此方法用於收集字符串並投入OutputStream要通過藍牙稍後發送。我需要每秒發送此字符串5次,我做了什麼至今:

rootView.findViewById(R.id.action_send).setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View view) { 
    String message = result; 
    sendMessage(message); 
    sendMessage(message); 
    sendMessage(message); 
    sendMessage(message); 
    sendMessage(message); 
    } 
}); 

但這裏之後另一個我只是送他們每個人。所以它應該是:sendMessage - >等待(200ms) - >sendMessage - >等待(200ms) - >sendMessage - >等待(200ms) - >sendMessage - >等待(200ms) - >sendMessage但我不知道怎麼可能我實現了這一點。整個過程只需要按一次按鈕即可調用。

如果缺少重要的東西,我可以馬上提供必要的代碼。

回答

0

您應該能夠使用Thread.sleep()命令在sendMessage調用之間等待。

編輯:但是請記住,在Android UI線程(這是單擊事件運行的線程)中調用Thread.sleep()並不是一個好主意。如果你這樣做,UI將在線程休眠時鎖定。看到這個問題:How to pause/sleep thread or process in Android?關於如何在不鎖定UI線程的情況下實現這一點的更多信息。

+0

這對我的應用程序來說甚至更好,它會凍結,謝謝! – Lisek

相關問題