Приложение Android TV: Поиск наложения не исчезает должным образомAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Приложение Android TV: Поиск наложения не исчезает должным образом

Сообщение Anonymous »

приложение для Android TV: Поиск наложения не исчезает должным образом < /h1>
Я разрабатываю приложение Android TV и испытываю проблемы с наложением поиска, не исчезающего должным образом. Наложение остается видимым даже после попытки закрыть его.
Справочное изображение < /p>
структура макета < /h2>
Вот моя основная макет активности (

Код: Выделить всё

activity_main.xml
):

Код: Выделить всё











< /code>
 Search Overtay Mayout (fragment_channel_search.xml
):




















< /code>
текущая реализация < /h2>
Вот как я сейчас обращаюсь с наложением: < /p>
private fun showChannelSearchOverlay() {
Log.d(tag, "Showing channel search overlay")
try {
// 1. Clean any existing overlay
removeSearchOverlay()

// 2. Ensure container is visible
val overlayContainer = findViewById(R.id.overlayContainer)
overlayContainer?.visibility = View.VISIBLE

// 3. Create and show search fragment
val fragment = ChannelSearchFragment(
allChannels = channelsList,
onChannelSelected = { channel ->
playChannel(channel)
removeSearchOverlay()
playerView.requestFocus()
}
)

supportFragmentManager.beginTransaction()
.replace(R.id.overlayContainer, fragment, "ChannelSearchFragment")
.commitAllowingStateLoss()

Log.d(tag, "Search overlay fragment added successfully")
} catch (e: Exception) {
Log.e(tag, "Error showing search overlay: ${e.message}", e)
findViewById(R.id.overlayContainer)?.apply {
removeAllViews()
visibility = View.GONE
}
}
}

private fun removeSearchOverlay() {
Log.d(tag, "Attempting to remove search overlay")
try {
// 1. Remove fragment if exists
val frag = supportFragmentManager.findFragmentByTag("ChannelSearchFragment")
if (frag != null) {
Log.d(tag, "Found search fragment, removing it")
supportFragmentManager.beginTransaction()
.remove(frag)
.commitAllowingStateLoss()
}

// 2. Clean container
val overlayContainer = findViewById(R.id.overlayContainer)
overlayContainer?.removeAllViews()
overlayContainer?.visibility = View.GONE

// 3. Ensure player gets focus
playerView.post {
playerView.requestFocus()
Log.d(tag, "Focus returned to player view")
}
} catch (e: Exception) {
Log.e(tag, "Error removing search overlay: ${e.message}", e)
findViewById(R.id.overlayContainer)?.apply {
removeAllViews()
visibility = View.GONE
}
}
}
< /code>
Проблема < /h2>
Поисковое наложение не исчезает должным образом, когда: < /p>

Нажатие кнопки на спине < /li>
Выбирает канал < /li>
Иногда остается видимым после того, как приложение восстанавливается из фонового < /li>

. Может вызвать эту проблему и как я могу ее исправить? Навигация < /li>
< /ul>
Я пробовал: < /p>

Настройка настройки настройки для унесения < /li>
Удаление всех представлений < /li>
< /li>
< /> < /li> < /li> < /li> < /li>
>

Подробнее здесь: https://stackoverflow.com/questions/796 ... g-properly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»