У меня есть ListView в моем RelativeLayout, который должен быть скрыт во время поиска. Поэтому я внедрил следующий код:Android ListView setVisibility не работает
mProgressView.setVisibility(View.VISIBLE);
mSearchListView.setVisibility(View.INVISIBLE);
mSearchAdapter.search(query).onSuccess(new Continuation<Set<Integer>, Object>() {
@Override
public Object then(final Task<Set<Integer>> task) throws Exception {
runOnUiThread(new Runnable() {
@Override
public void run()
mSearchAdapter.notifyDataSetChanged();
mProgressView.setVisibility(View.INVISIBLE);
mSearchListView.setVisibility(View.VISIBLE);
}
});
return null;
}
});
К сожалению, ListView остается видимым. ProgressView начинает успешно вращаться, но просмотр списка остается видимым. Любые намеки на то, что делать?
Иногда поведение может произойти, когда интерфейс не обновляется внутри UI нить. Это не всегда приводит к ошибкам, но иногда просто не делает то, что запрашивает абонент. Таким образом, я бы проверить, если вы делаете эти изменения в потоке пользовательского интерфейса (что должно быть в случае таких обновлений). –
Я действительно сделал. И я полагаю, что представление прогресса также не будет работать должным образом, если не обновлено из потока пользовательского интерфейса –