Я делаю приложение для музыкального плеера на Android. Мой Launcher Activity(MainActivity.java)
отображает все песни в формате Custom ListView
. Мое приложение отлично работало, а затем я решил добавить виджет SearchView
в ToolBar
. Теперь, когда я ввожу запрос в SearchView
, меня начинает открывать активность Searchable.java
, и после 2-3 часов весь экран становится черным. Результаты поиска отображаются на короткое время, но черный экран остается там постоянно. Если вы не используете опцию поиска, то приложение не показывает такого поведения.Android: черный экран появляется на экране, когда операция поиска выполняется с помощью android SearchView
ответ
Ваше приложение отображает черный экран, потому что вы выполняете операции поиска по основному потоку, поэтому ваша основная нить висит, проверьте ваш монитор журнала, вы получите ошибку, например, слишком много работы в основном потоке, чтобы преодолеть эту проблему, которая вам нужна для выполнения ваших поисковых операций в другом потоке или в фоновом режиме и обновления вашего представления при завершении поиска, вы можете использовать Asynctask для фоновой задачи.
использует фрагмент, разрешающий проблему? –
просто положил ваш поисковый запрос на получение списка аудиоданных в asynctask, он будет обрабатывать автоматически все вещи, чтобы проверить это для получения дополнительной информации. Https://developer.android.com/reference/android/os/AsyncTask.html –
Так что я читал ссылку, и я хотел спросить, что, поскольку операция, которую нужно выполнить, - это поиск, должен ли я поместить вызов метода execute() внутри метода onCreateOptionsMenu()? –
Просьба указать причины отрицательных голосов. Это может оказаться полезным. –
вы должны опубликовать свой код, где возникла проблема. Без вашего кода очень сложно определить, где проблема. –