Android Lollipop 上的键盘隐藏崩溃
Posted
技术标签:
【中文标题】Android Lollipop 上的键盘隐藏崩溃【英文标题】:Keyboard Hidden crashes on android Lollipop 【发布时间】:2016-10-19 04:21:28 【问题描述】:有人解决android 5.0 上键盘隐藏崩溃的问题吗?我用相同的代码在 4.4.2 上试过,但没有发生。
这是我的活动设置:
<activity
android:name=".activity.MainActivity"
android:configChanges="orientation|screenSize"
android:hardwareAccelerated="true"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
这是冻结后的日志
06-17 20:43:57.823 32593-32604/org.mydev.app.debug W/art:暂停所有线程耗时:14.210ms 06-17 20:43:59.503 32593-32604/org.mydev.app.debug W/art:暂停所有线程耗时:195.356ms 06-17 20:44:02.633 32593-931/org.mydev.app.debug E/UncaughtException: java.lang.NullPointerException: 尝试从空对象上的“java.lang.Object maps.Wd$cc”字段读取参考 在 maps.W.d.a(未知来源) 在 maps.W.d.b(未知来源) 在 maps.X.J.a(未知来源) 在 maps.ac.i$d.a(未知来源) 在 maps.ac.i.a(未知来源) 在 maps.ac.n.a(未知来源) 在 maps.X.A.a(未知来源) 在 maps.X.H.a(未知来源) 在 maps.X.H.b(未知来源) 在 maps.X.y$f.f(未知来源) 在 maps.X.y$f.run(未知来源) 06-17 20:44:02.673 32593-32593/org.mydev.app.debug I/Choreographer:跳过 557 帧!应用程序可能在其主线程上做了太多工作。
【问题讨论】:
尝试在activity标签中添加android:windowSoftInputMode="stateHidden"
。
非常感谢。但它仍然崩溃了。应用程序冻结然后崩溃。
你能发布崩溃日志吗?
我已经用日志更新了问题。请看一下:-)
在我的应用程序中,viewpager 中有 5 个片段。两个片段包含谷歌地图。我认为这是导致此异常的原因。
【参考方案1】:
试试这个。
<activity
android:windowSoftInputMode="stateHidden"
android:name=".activity.MainActivity"
android:configChanges="orientation|screenSize"
android:hardwareAccelerated="true"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
否则使用此方法隐藏相对于 EditText 的键盘。
public static void hideKeyboadOnView(Context context, View view)
InputMethodManager inputManager = (InputMethodManager)
context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(
view.getWindowToken(), 0);
/* inputManager.hideSoftInputFromWindow(activity.getCurrentFocus()
.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);*/
并在此方法中传递edittext视图。
【讨论】:
【参考方案2】:我通过添加 android:windowSoftInputMode="adjustPan" 解决了这个问题。谢谢大家指导我。
【讨论】:
以上是关于Android Lollipop 上的键盘隐藏崩溃的主要内容,如果未能解决你的问题,请参考以下文章
在 Lollipop 崩溃前使用 android vector Drawables
在Pre-Lollipop设备中使用.xml向量时,应用程序崩溃Xamarin.Android