Android - 主窗口似乎永远没有焦点

问题描述 投票:0回答:1

我最近收到两个问题,我怀疑它们与同一事实有关。

第一个问题:我注意到我的 EditText 都没有拉起软输入键盘(他们以前总是这样做),并且为了测试它,我创建了一个全新的“默认”(没有自定义更改)EditText,尽管如此视图获得焦点(光标出现了),但 leyboard 仍然没有显示。手动调用

InputMethodManager.showSoftInput()
也会返回 false。这个问题很奇怪,因为当我调用
activity.getCurrentFocus()
时,我收到的正是我所期望的 EditText 视图,但是调用
editText.hasWindowFocus()
返回 false(根据文档,具有窗口焦点是显示 IME 的要求)。

第二个问题:

onBackPressed()
在我的任何活动中都从未被解雇过。无论系统栏是否隐藏,或者后退事件是否由按钮或手势生成,它们都永远不会被触发,由于 EditTexts 的问题,这让我怀疑这与我的窗口不这样做有关。没有焦点。

找出问题所在:我找不到任何可能以这种方式影响应用程序的单一代码更改,除了可能将

targetSdk
更改为高于我的开发设备的级别,但我将其改回 API 31 (我的设备)并且没有进行任何更改。我还测试了问题是否可能出在我的设备上,但在另一台平板电脑上部署应用程序也会产生相同的问题。我还彻底检查了我的清单以查找问题的潜在根源,但没有发现任何问题。活动窗口失去焦点通常是否有原因,以及手动设置它的方法?

android android-activity window ime
1个回答
0
投票

好吧,我刚刚发现了这个问题。我在启动所有活动时调用

Window.setFlags(Window.FEATURE_ACTIVITY_TRANSITIONS, Window.FEATURE_ACTIVITY_TRANSITIONS)
,并且由于某种我尚未了解的原因,它完全搞乱了窗口焦点。现在一切正常,如果我找到原因,我会编辑这个答案。

© www.soinside.com 2019 - 2024. All rights reserved.