2011-03-08 5 views
5

응용 프로그램이 시작될 때 가상 키보드를 표시해야하지만 지금까지는 실패했습니다.첫 번째 활동이 시작되면 Android Show 소프트 키보드가 표시됩니까?

나는 가상 키보드

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.toggleSoftInput(txtBuscar.getId(), InputMethodManager.SHOW_FORCED); 

이 코드는 언제든지 화면에 잘 작동하지만 "첫 번째"활동이 시작되면 작동하지 않습니다를 표시하는 방법 "에서 OnCreate을"이 코드를 사용합니다. 왜?

다른 활동을 시작하면 작동하지만 작동하지만 "처음"활동을 시작하면 작동하지 않습니다.

나는이 코드를 "OnCreate"이벤트와 더 많은 ....에 넣으려고했으나 작동하지 않는 것 같습니다.

어쨌든 "강제로"응용 프로그램을 시작할 때 키보드를 표시 할 수 있습니까?

미리 감사드립니다.

답변

24

나는 해결책을 찾을 수 없습니다

txtPassword.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       InputMethodManager keyboard = (InputMethodManager) 
       getSystemService(Context.INPUT_METHOD_SERVICE); 
       keyboard.showSoftInput(txtPassword, 0); 
      } 
     },200); 

감사합니다!

+0

인물 모드에서만 작동합니다. 가로 모드로 전환하면 소프트 키보드가 나타나지 않습니다. 나는 그것을 두 가지 방법으로 시도했다. 활동이 시작되기 전에 가로 모드로 전화를 걸고 활동이 표시되면 가로로 전환합니다. 진행 방법에 대한 단서가 있습니까? –

+0

좋습니다! 안드로이드 버그인가요? onResume()에서 키보드를 실행하려고했지만 처음 지연되지 않고 시작되지 않았습니다. – Sash0k

1

onCreate는 활동이 백그라운드에서 처음 가져온 경우 호출되지 않습니다. onResume에 코드를 넣으려고 했습니까?

onCreate는 활동이 처음 시작되거나 활동이 종료되고 사용자가 활동을 다시 탐색 할 때만 호출됩니다. 따라서 액티비티가 여전히 살아 있지만 배경에서는 onCreate를 호출하지 않습니다.

반면에 활동이 배경에서 전경 (화면에서 볼 수 있음)으로 나타날 때마다 onResume이 호출됩니다.

관심있는 경우 여기가 활동 라이프 사이클에 대한 링크입니다. http://developer.android.com/reference/android/app/Activity.html.

는 도움이되기를 바랍니다.

관련 문제