首页 > 解决方案 > 用户在Goodie Bag PinviewEditText中完成编辑后如何自动关闭键盘?

问题描述

即使在开始新活动后键盘也不会关闭。

我想当用户完成编辑后,开始一个新的活动而不按完成/输入。

pinview.setPinViewEventListener(new Pinview.PinViewEventListener() {
        @Override
        public void onDataEntered(Pinview pinview, boolean fromUser) {
            String pin=pinview.getValue();
            callApi(pin);

        }
    });

和 xml 是

   <com.goodiebag.pinview.Pinview
            android:id="@+id/pinview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:pinWidth="30dp"
            app:pinHeight="30dp"
            app:pinLength="6"
            android:layout_gravity="center_horizontal"
            app:cursorVisible="false"
            app:forceKeyboard="true"
            app:hint=""
            app:inputType="number"
            android:layout_marginTop="10dp"
            app:password="false"/>

标签: android

解决方案


您可以通过代码设置如下,

科特林

val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)

安卓java

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

或在 AndroidManifest.xml 中:

<activity android:name="com.your.package.ActivityName"
          android:windowSoftInputMode="stateHidden"  />

推荐阅读