2013-04-06 2 views
0

스플래시 레이아웃을 5 초 동안 표시하고 메인 메뉴 레이아웃으로 전환하려고합니다. 화면에 약 5 초 동안 아무 것도 나타나지 않으면 메인 메뉴 레이아웃이 나타납니다. 잠자 지 않는 스플래시 레이아웃을 실행하면 잘 돌아갑니다. 따라서 문제가 아닌 것 같습니다. 어떤 아이디어?잠자기시 스플래시 화면이 비어 있습니다.

유 메인 UI 스레드에서에 Thread.sleep하고있는 beacause를 이것은
@Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 
     try 
     { 
      Thread.sleep(5000); 
     } 
     catch (InterruptedException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     mainMenu(); 
    } 




    private void mainMenu() 
    { 
     setContentView(R.layout.mainmenu); 

    } 
+2

중복 .. 코드 아래에 사용? http://stackoverflow.com/questions/6309659/android-the-splash-screen-does-not-get-shown-why –

답변

1

.. 그게 전부는 권장하지 않습니다 ..

사용 타이머 대신,

private Timer timer; 
private Handler handler; 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    handler = new Handler(); 

     timer = new Timer(); 
     TimerTask timerTask = new TimerTask() { 
     @Override 
     public void run() { 
      handler.post(new Runnable() { 
       @Override 
       public void run() { 
        YourActivity.this.setContentView(R.layout.mainmenu); 
       } 
      }); 

     } 
    }; 
    timer.schedule(timerTask, 5000); 
} 
관련 문제