如何在一个屏幕上永久显示软输入键盘

时间:2017-03-17 13:04:02

标签: android focus android-softkeyboard

我有自动完成编辑文本我想要显示软输入键盘即使在焦点上也不在自动完成上。我尝试过如此疯狂的东西但是没有它们正在工作。 就像在Manifest中一样:

  <activity android:name=".MainActivity"
    android:windowSoftInputMode="stateAlwaysVisible"
    ></activity>

活动:

   number = (AutoCompleteTextView) findViewById(R.id.ed_number);

    number.requestFocus();

    InputMethodManager imms = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imms.showSoftInput(number, InputMethodManager.SHOW_FORCED);
 if (!number.hasFocus()) {
        imm.showSoftInput(number, 0);
        number.requestFocus();

    }

//在布局上点击它闪烁点击如show / hide

linear_layout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            InputMethodManager immq = (InputMethodManager) view.getContext()
                    .getSystemService(Context.INPUT_METHOD_SERVICE);
            immq.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.SHOW_FORCED);
        }
    });

1 个答案:

答案 0 :(得分:0)

你的努力很帅但我不知道为什么它不会把重点放在AutoCompleteTextView上。所以,请尝试另外一个解决方案,它可以帮助你。

number.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(final View view, boolean hasFocus) 
            {
                view.post(new Runnable() 
                {
                    @Override
                    public void run() 
                    {
                        if (!view.hasFocus()) {
                            view.requestFocus();
                            view.requestFocusFromTouch();
                        }
                    }
                });
            }
        });