Во-первых, я доволен настройками моей деятельности android:windowSoftInputMode="adjustNothing"
. Я не хочу, чтобы на нижней части экрана ничего не предлагалось, когда клавиатура встала. Вместо этого я хочу «приостановить» (или вызвать методы onPause()) фрагментов, которые полностью блокируются с помощью мягкой клавиатуры, а затем возобновить их, когда они не видны.Почему Android не останавливает фрагмент, чей вид полностью заблокирован с помощью мягкой клавиатуры?
По крайней мере, я ожидал, что фрагменты сделают это сами. Но из docs, похоже, что onPause() обычно связан с onPause() родительской активности.
Из других вопросов, связанных с ответами здесь и в других местах, я понимаю, что нет простого способа получить состояние мягкой клавиатуры. И даже делая это с помощью крюка или мошенника, я не хочу называть onPause() и onResume() вручную для каждого предполагаемого фрагмента.
Итак, мой практический вопрос: Можно ли сделать любой фрагмент самосознающим, когда его вид заблокирован мягкой клавиатурой? Если да, то как?
И да, я хочу понять, есть ли веские причины, по которым Android не вызывает onPause() для фрагментов, чьи представления полностью заблокированы, в отличие от этого для onPause(). Я понимаю, что это не делает даже для активности в случае мягкой клавиатуры. Я чувствую, что полная блокировка (преднамеренно или непреднамеренно) с помощью чего-либо, такого как мягкая клавиатура, должна иметь некоторое влияние на жизненный цикл активного представления.
Я надеюсь, что это не gushingly отметился дублем, так как я не прошу, чтобы знать состояние мягкой клавиатуры в деятельности, по крайней мере, непосредственно :)
«возможно ли сделать любой фрагмент самонадеянным, когда его представление блокируется с помощью мягкой клавиатуры?» -- Не то, чтобы я в курсе. – CommonsWare