Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从一个活动移动到另一个活动时,键盘自动弹出_Android_Keyboard_Android Softkeyboard_Autocompletetextview_Window Soft Input Mode - Fatal编程技术网

Android 从一个活动移动到另一个活动时,键盘自动弹出

Android 从一个活动移动到另一个活动时,键盘自动弹出,android,keyboard,android-softkeyboard,autocompletetextview,window-soft-input-mode,Android,Keyboard,Android Softkeyboard,Autocompletetextview,Window Soft Input Mode,在我的应用程序中,当我从一个活动转到另一个活动时,软键盘会自动弹出 我有一项活动(比如A)是我设定的 android:configChanges="keyboardHidden" 因为我不想在这个活动上使用键盘,但当我从这个活动移动到另一个包含Map和AutoMompleTextView的活动(比如B)时,键盘首先会自动弹出,然后关闭 我在活动B上尝试的内容: 在舱单上我已经确定了 android:windowSoftInputMode="stateHidden|adjustResize

在我的应用程序中,当我从一个活动转到另一个活动时,软键盘会自动弹出

我有一项活动(比如A)是我设定的

  android:configChanges="keyboardHidden" 
因为我不想在这个活动上使用键盘,但当我从这个活动移动到另一个包含Map和AutoMompleTextView的活动(比如B)时,键盘首先会自动弹出,然后关闭

我在活动B上尝试的内容: 在舱单上我已经确定了

android:windowSoftInputMode="stateHidden|adjustResize"
立即创建

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();
    }
我还尝试将焦点放在活动中的另一个视图上,如(视图v1)

我甚至试着把

android:focusableInTouchMode="true"
在活动B的每个组件上

但对我来说什么都不管用

请帮我解决这个问题 我已经尝试了以下链接列表中所有已接受的ans:

这是我的AutoCompleTextView

<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中删除了焦点,但当活动开始时,键盘仍然显示和消失。
所以这不是一个自动完成焦点的问题

你需要做的只是给予

android:windowSoftInputMode="stateHidden"

在活动的清单文件中。

在主xml标记的下面一行中写入

android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
如下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainLayout"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true" >

java
文件中使用以下行:

InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
inputManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);

如果您已经根据问题的链接尝试了所有被接受的ans,那么为什么不尝试调试您的开始活动,我的意思是您已将启动相应活动的意图放在其上。 在调试我的一个应用程序时,我发现android软键盘存在这样一个问题:即使在完成调用它的活动后,它也不会停止,它会在屏幕上停留几秒钟,但这种情况并不经常发生


因此,我建议您也调试调用活动,只需尝试在调用相应活动的组件上放置“focusable=false”。

post your edittext XML layout.XML added@ahamed@RajatPorwal请尝试
android:focusableInTouchMode=“false”
android:focusableInTouchMode=“true”
inautocompleteTextView@AkshayBhat“AB”试过不工作试过不工作我甚至试过“StateAllwayshidden”但不工作删除键盘上的所有其他代码,只放这个清单代码。这对我来说很好。我总是使用这种方法在“活动创建”中隐藏键盘。我发现这个链接非常有用,我希望它也能帮助你@AshishVora尝试了你的解决方案,问题仍然是一样的,但现在键盘也不接触。当你点击Edittext时,键盘不来了?但我已经将android:configChanges=“keyboardHidden”在我的呼叫活动中,这意味着我已经更改了该活动中的键盘可访问性,所以键盘将永远不会出现在该屏幕上,如果我错了,请纠正我。但好的,我将尝试你的建议,因为我没有其他选择,我已经尝试了当前活动的所有功能。我尝试了调试调用活动,并按照您的建议,在调用新活动的组件上放置focusable=false,它成功了。。!!这意味着问题出在呼叫活动上,键盘出现在呼叫活动上。我不知道为什么会发生这种情况,因为我已经将android:configChanges=“keyboardHidden”和android:windowSoftInputMode=“adjustPan | stateinchange | stateAllwayshidden”放在menifest.xml中,但键盘仍然显示在该活动中。你能解释一下为什么会这样吗?
InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
inputManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);