캔버스를 만드는 작업과 캔버스를 수정하는 작업이 포함 된 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);
}
});
가 왜 (.join 부르죠) :이 같은 UI 스레드에서 의도을 시도하지 않을 경우 – Dario