2010-01-11 32 views
0

在SurfaceView中,我調度在標準「LockCanvas-Draw-unlockCanvasAndPost」循環內繪製在畫布上的新線程。 (注意線程不包含消息循環)。在沒有消息循環的情況下從另一個線程中啓動Android對話框

如何從該線程顯示Android標準對話框?

由於線程沒有味精循環,下面的代碼無法正常工作:

Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Alert"); 
builder.setMessage("Stackoverflow!"); 
builder.setNegativeButton("cancel", null); 
builder.show(); 
+0

你能說說「不行」嗎? 'SurfaceView'擴展'View',所以你可以在設置線程時引用它的Handler嗎? – 2010-01-11 15:06:08

+0

我發現有趣的信息取自其他線程的UI線程: http://developer.android.com/resources/articles/painless-threading.html – Jox 2010-01-11 17:07:13

回答

1

你可以通過第二個線程的處理程序,你可以發送郵件到第一線程即可顯示對話框。

+0

我發現(相對類似)解決方案將DialogBu​​ilding代碼發佈到「父」通過ParentView.post(新的Runnable(){...})方法來查看。 Thanx! – Jox 2010-01-11 17:04:59

相關問題