我正在開發一個使用表面視圖來表示UI圖形的Android遊戲。如果用戶觸摸特定區域,我需要實施一種方法來啓動另一項活動。 爲此,我將主要(前景)活動的當前實例傳遞到表面視圖如何從非UI線程開始活動(從表面視圖繪製線程)
我可以輕鬆處理觸摸,但無法從接收的實例啓動活動。
**>如果我打電話startActivity從
當前活動例外的接收實例方法發生,指出其與非 UI線程**
我是一個呼叫使用擴展到表面視圖的類並傳遞到在其畫布上繪製的線程
我正在開發一個使用表面視圖來表示UI圖形的Android遊戲。如果用戶觸摸特定區域,我需要實施一種方法來啓動另一項活動。 爲此,我將主要(前景)活動的當前實例傳遞到表面視圖如何從非UI線程開始活動(從表面視圖繪製線程)
我可以輕鬆處理觸摸,但無法從接收的實例啓動活動。
**>如果我打電話startActivity從
當前活動例外的接收實例方法發生,指出其與非 UI線程**
我是一個呼叫使用擴展到表面視圖的類並傳遞到在其畫布上繪製的線程
SurfaceView是否在活動中? 如果是這樣,使用
runOnUiThread(new Runnable() {
public void run() {
//startActivity
}
});
如果你不是你真的不應該開始其他活動的活動中..
而且SurfaceView設有驛站和postDelayed方法可以是使用上張貼的Runnable UI線程。
post(new Runnable() {
public void run() {
//startActivity
}
});
您可以使用:
// from MySurfaceView/Activity
Context context = getContext();
//EffectingActivity is another activity
Intent intent = new Intent(context, EffectingActivity.class);
context.startActivity(intent);
感謝小夥子們我想通了 我叫runOnUI從類實例,並將其完美作品 – Allahjane 2012-03-10 08:23:18