开发者

How to Trigger the soft keyboard?

How can I开发者_高级运维 trigger the software keyboard and add listeners to it's keys?


To display the soft keyboard you might try: InputMethodManager.showSoftInput()

As for adding listeners, the best you can do is add a TextChangedListener to an EditText to listen to the changes in the EditText view that are made via the keyboard.


Ive tried two options, but none of them worked in the emulator, as i said, i am trying to pop up soft keyboard on long-press menu:

@Override

public boolean onKeyLongPress(int keyCode, KeyEvent event)

{

            if (keyCode == KeyEvent.KEYCODE_MENU)
        {
             showSoftInput.getInputMethodList();
             showSoftInput.toggleSoftInput(showSoftInput.SHOW_FORCED, 0);

            return true;
        }
        return super.onKeyLongPress(keyCode, event);
    }

second option:

View.OnLongClickListener mLongClickListener = new View.OnLongClickListener()
    {

        @Override
        public boolean onLongClick(View v)
        {

            Configuration config = RouteMapActivity.this.getResources()
                    .getConfiguration();
            if (config.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES)
            {
                InputMethodManager imm = (InputMethodManager) RouteMapActivity.this
                        .getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(mapView, InputMethodManager.SHOW_IMPLICIT); // .SHOW_FORCED);
            }
            return false;
        }

    };


You can do this from your`s AndroidManifest.xml by adding

<activity
    android:windowSoftInputMode="stateVisible" ... >
    ...
</activity>

But note: If the user's device has an attached hardware keyboard, the soft input method does not appear. http://developer.android.com/training/keyboard-input/visibility.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜