Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Show Soft Keyboard When First Activity Starts?

I need to display the virtual keyboard when the application starts, but so far I've failed.

I use this code in method "OnCreate"to display the virtual keyboard

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

this code works fine on any screen at any time, but does not work when the "first" activity begins. Why?

I tried it when I start another activity and it works, but does not work when I start the "first"activity.

I tried to put this code in the events "OnCreate"and many more .... but it seems not work.

is there anyway to "force" to display the keyboard when I start the application?

Thanks in advance.

like image 217
seba123neo Avatar asked Mar 08 '11 00:03

seba123neo


2 Answers

I Found the solution:

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

Thanks !!!

like image 106
seba123neo Avatar answered Oct 04 '22 09:10

seba123neo


onCreate will not be called if the activity is first brought from background. Have you tried put that code in onResume?

onCreate is called only when activity is first start or the activity is killed and user navigate to the activity again. So if the activity is still alive but in background, it will not call onCreate.

On the other hand, onResume will be called every time the activity comes to foreground (visible on screen) from background.

Here is link to activity life cycle if you are interested http://developer.android.com/reference/android/app/Activity.html.

Hope it helps.

like image 27
katsuya Avatar answered Oct 04 '22 08:10

katsuya