Intereting Posts
Как я могу найти и запустить keytool ORMLite сбросить все таблицы Ограничить продажи приложения конкретными устройствами? Событие Shake работает по-разному на разных устройствах. Пользовательская реализация Shake Event Вызов мягкой клавиатуры Android из файла C ++ Создание TextViews с равной шириной в строке Ошибка раздувания класса android.support.design.widget.TabLayout Длинный элемент списка для открытия всплывающего меню Фрагмент onResume () не вызывается при использовании FragmentPagerAdapter Можно ли отключить доступ к макету (представлениям) фрагмента из родительской активности? Запуск приложения замедлился: не удалось открыть '/system/framework/dpmapi.jar' Автоматическое возвращение к предыдущему SMS-приложению по умолчанию Как записать экран активности веб-просмотра с помощью Android MediaCodec? Android hierarchyviewer не может загружать данные окна Могу ли я узнать, сколько памяти для моей программы осталось?

Расширитель хода Android, способный отображать, но не скрывать программно

Я пытаюсь указать счетчик прогресса, как это было в моем файле testLayout.xml, а затем программно отображать и скрывать его, как я сделал в приведенном ниже коде активности. Однако происходит то, что индикатор прогресса покажет, но он никогда не исчезает, хотя у меня есть setProgressBarVisibility (false); в конце. Есть идеи? Спасибо за ввод

макет / testLayout.xml

<Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ButtonNew" android:text="New" android:layout_alignParentBottom="true" /> <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/list" android:layout_alignParentTop="true" android:layout_above="@id/ButtonNew" /> <ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:id="@+id/progressBar1" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></ProgressBar> </RelativeLayout> 

TestActivity.java

  public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.testLayout); setProgressBarVisibility(true); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } setProgressBarVisibility(false); } 

В вашем коде есть проблема, потому что ваш вызов Thread.sleep заставит onCreate ждать 5 секунд, прежде чем продолжить. Вы никогда не должны выполнять вызов Thread.sleep в основном потоке пользовательского интерфейса, так как это приведет к тому, что приложение не ответит на это время. Теперь, что касается ProgressBar, кажется, что вы неправильно используете setProgressBarVisibility с вашим xml-файлом. Эти функции должны использоваться для ProgressBar, которые содержатся в строке заголовка. Вам нужно просто использовать findViewById (R.id.progressBar1) .setVisibility (View.Gone), чтобы скрыть или View.Visible для показа. Но если оба этих вызова выполняются внутри onCreate, вы увидите только тот, который был вызван последним. Это связано с тем, что пользователю не показывается ui, пока активность не вернется из onResume и onCreate.