2014-04-26 85 views
0

我目前正在編寫一個涉及活動的Android應用程序,該活動創建一個畫布和一個線程來修改畫布,並且我試圖在選項欄中創建一個按鈕以返回到菜單。菜單肯定有效(因爲你必須通過它來啓動當前的活動),並且Activity,Canvas和Thread工作(一旦你啓動它們,它們的功能就會盡我所能),但是在返回方法中到菜單後,Android將無法完成startActivity方法,然後意圖返回到菜單類。這是在我停止線程並聲明意圖之後,因爲不同想法的多次迭代,有時log cat會在startActivity行拋出一個錯誤。但是,通常情況下,我不會收到錯誤信息,而是在動畫停止後(只要線程關閉),我就切換到一個空白的黑屏,無法連接。我的代碼如下:startActivity在Android中不起作用方法

 switch (item.getItemId()) { 
     case R.id.menureturn: 
      super.onDestroy(); 
     try { 
      panel.getThread().setRunning(false); 
      panel.getThread().join(); 
     } catch (InterruptedException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 

     Intent menu = new Intent(MainActivity.this, MenuSplash.class); 
     menu.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
     startActivity(menu); 

      return true; 

任何幫助,你可以給我會太棒了!

+0

你爲什麼叫。加入(?這個線程無法自行處理?我不知道整個背景,但看起來這是黑屏的原因... – Dario

回答

0

這段代碼在UI線程中運行,如果不嘗試做出UI線程像這樣的意圖:)

runOnUiThread(new Runnable(){ 
    public void run() { 
     // This runs on the UI thread 
     Intent menu = new Intent(MainActivity.this, MenuSplash.class); 
     menu.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
     startActivity(menu); 
    } 
});