取消 EditText 输入 --> 重新创建 MainActivity (Android Studio)

Cancel EditText input --> recreate MainActivity (Android Studio)

在我的 mainactivity 中,我有几个单选按钮(2 组)、一个 'go' 按钮和屏幕底部的一个 EditText 字段。

当用户选择 EditText 字段时,键盘会弹出。我想要的第一件事是 'go' 按钮 保持 并且包含多个单选按钮的 2 个单选组 消失 。这样,屏幕布局就会尽可能简单。

此外,当用户取消 EditText 输入(按下设备上的后退按钮)时,我希望 MainActivity(包含所有按钮和编辑文本字段的屏幕)重新出现。

当我在 EditText 字段的 onClick 侦听器中将 RadioGroups 的可见性设置为 View.INVISIBLE 时,第一部分有效。

但是,当用户取消 EditText 字段中的输入(键盘消失)时,布局仍保留在该特定视图中:只有 'go' 按钮和编辑文本字段在屏幕上可见。

如何在使用 EditText 字段时处理设备的 cancel/back 按钮并使其重新启动 activity 或重新出现以前隐藏的布局元素?

有几种方法可以实现这种效果:

  • 重写清单中的 android:configChanges 以便自己处理键盘 visible/hidden 事件,如 this 开发指南中所述。
  • 实现一个自定义布局,它将监听键盘可见性的变化,并允许您对 UI 进行更改,如 this SO 问题
  • 中所述