在我的应用程序中,当我从一个活动转到另一个软键盘时,会自动弹出。
我有一项活动(比如 A),我已经设置了
android:configChanges="keyboardHidden"
因为我不想在这个活动上使用键盘,但是当我从这个活动移动到另一个包含 Map 和 AutoComompleteTextView 的活动(比如 B)时,键盘首先会自动弹出然后关闭。
我在活动 B 上尝试过的内容:在清单中我设置了
android:windowSoftInputMode="stateHidden|adjustResize"
在 oncreate
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
我也试过把它放在 OnCreate
try{
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}catch (Exception e)
{
Log.e(TAG, "onCreate: keyboard crash");
e.printStackTrace();
}
我还尝试将焦点放在活动中的另一个视图上,例如(View v1)
v1.requestFoucs();
我什至试着把
android:focusableInTouchMode="true"
在活动 B 的每个组件上。
但没有什么对我有用。
请帮我解决这个问题我已经尝试了属于以下链接列表的所有接受的ans:
这是我的自动完成文本视图
<AutoCompleteTextView
android:id="@+id/auto_serviceArea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:layout_weight=".5"
android:background="@android:color/transparent"
android:cursorVisible="false"
android:hint="@string/serviceArea"
android:padding="5dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"/>
编辑 1:我试图检查哪个视图正在获得焦点,以便我可以转移该焦点,并且在调试时我从 AutoCompleteTextView 中删除了焦点,但键盘仍然出现并在活动开始时消失。所以这不是自动完成焦点问题。