我通過本書的學習,這讓我這個例子:如何將Runnable對象傳遞給Handler?
Handler handler=new Handler() {
@Override
public void handleMessage(Message msg) {
bar.incrementProgressBy(5);
}
};
和
Thread background=new Thread(new Runnable() {
public void run() {
try {
for (int i=0;i<20 && isRunning.get();i++) {
Thread.sleep(500);
handler.sendMessage(handler.obtainMessage());
}
} catch (Throwable t) {
// just end the background thread
}
}
});
哪些偉大的作品出來。但是,在書中進一步下跌,它說:
如果您不想與Message對象上做文章,你也可以通過 Runnable對象的處理程序,它會運行活動UI線程上的Runnable的 對象。 ...您可以在任何視圖(即任何小部件或容器)上使用相同的方法 。這稍微簡化了您的代碼,因爲您可以跳過處理程序對象。
但是沒有給出如何通過Runnable
對象來實現這個功能的例子。有沒有人有一個例子?
代碼更小......但我們現在有兩個run()方法嗎? – Ryan
感謝這個例子,雖然已經選擇了你的答案 – Ryan
現在你有兩個runnables。因此,你將有兩個run()方法。我們可以做的並不多...(但是一些代碼結構可以使它看起來稍微好一些。) –