2014-11-24 2 views
0

У меня есть 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 начинает успешно вращаться, но просмотр списка остается видимым. Любые намеки на то, что делать?

+0

Иногда поведение может произойти, когда интерфейс не обновляется внутри UI нить. Это не всегда приводит к ошибкам, но иногда просто не делает то, что запрашивает абонент. Таким образом, я бы проверить, если вы делаете эти изменения в потоке пользовательского интерфейса (что должно быть в случае таких обновлений). –

+0

Я действительно сделал. И я полагаю, что представление прогресса также не будет работать должным образом, если не обновлено из потока пользовательского интерфейса –

ответ

0

Когда вы говорите, что он остается «видимым», вы имеете в виду, что видите данные в списке или просто какое-то пространство, похоже, занято невидимым списком?

Если последний случай, то вы должны попробовать сделать ListView GONE, как -

mSearchListView.setVisibility(View.GONE); 

вместо того, что делает его невидимым

+0

Я все еще вижу контент. Я также уже пробовал использовать GONE, никаких изменений вообще :( –

+0

mSearchListView.setVisibility (View.INVISIBLE); –

+0

Вы уверены, что ищете правильное представление списка, что означает, что идентификатор, с помощью которого вы его просматриваете, верен? более подробный код, будет легче выяснить, что происходит на этом пути. – mistwalker

Смежные вопросы