2017-01-20 15 views
-3

Я делаю приложение для музыкального плеера на Android. Мой Launcher Activity(MainActivity.java) отображает все песни в формате Custom ListView. Мое приложение отлично работало, а затем я решил добавить виджет SearchView в ToolBar. Теперь, когда я ввожу запрос в SearchView, меня начинает открывать активность Searchable.java, и после 2-3 часов весь экран становится черным. Результаты поиска отображаются на короткое время, но черный экран остается там постоянно. Если вы не используете опцию поиска, то приложение не показывает такого поведения.Android: черный экран появляется на экране, когда операция поиска выполняется с помощью android SearchView

+0

Просьба указать причины отрицательных голосов. Это может оказаться полезным. –

+2

вы должны опубликовать свой код, где возникла проблема. Без вашего кода очень сложно определить, где проблема. –

ответ

1

Ваше приложение отображает черный экран, потому что вы выполняете операции поиска по основному потоку, поэтому ваша основная нить висит, проверьте ваш монитор журнала, вы получите ошибку, например, слишком много работы в основном потоке, чтобы преодолеть эту проблему, которая вам нужна для выполнения ваших поисковых операций в другом потоке или в фоновом режиме и обновления вашего представления при завершении поиска, вы можете использовать Asynctask для фоновой задачи.

+0

использует фрагмент, разрешающий проблему? –

+0

просто положил ваш поисковый запрос на получение списка аудиоданных в asynctask, он будет обрабатывать автоматически все вещи, чтобы проверить это для получения дополнительной информации. Https://developer.android.com/reference/android/os/AsyncTask.html –

+0

Так что я читал ссылку, и я хотел спросить, что, поскольку операция, которую нужно выполнить, - это поиск, должен ли я поместить вызов метода execute() внутри метода onCreateOptionsMenu()? –