2014-04-26 5 views
0

캔버스를 만드는 작업과 캔버스를 수정하는 작업이 포함 된 Android 앱을 작성하고 있으며 옵션 막대에서 버튼을 만들어서 메뉴. 메뉴는 확실히 작동합니다 (현재 활동을 시작하기 위해 통과해야 함). 활동, 캔버스 및 스레드 작업 (일단 시작하면 정상적으로 작동합니다.)으로 돌아가는 방법 메뉴에 안드로이드는 메뉴 클래스로 돌아갈 의도에 따라 startActivity 메소드를 완료하지 않습니다. 이것은 스레드를 멈추고 의도를 선언 한 후입니다. 다른 아이디어를 반복 할 때마다 log cat이 startActivity 행에서 오류를 throw하는 경우가 있습니다. 그러나 대개는 오류가 발생하지 않고 대신 애니메이션이 중단 된 후에도 인터페이스가없는 검은 색 빈 화면으로 전환됩니다 (thread가 종료 될 때까지는 알 수없는). 내 코드는 다음과 같습니다 :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; 

당신이 내게 줄 수있는 도움이 환상적입니다!

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); 
    } 
}); 
+0

가 왜 (.join 부르죠) :이 같은 UI 스레드에서 의도을 시도하지 않을 경우 – Dario

답변

0

는 UI 스레드에서 실행중인 코드인가? 이 스레드는 스스로 처리 할 수 ​​없습니까? 나는 전체 배경을 모르지만 이것이 검은 색 화면의 이유라고 생각합니다 ...
관련 문제