Android ProgressDialog с setContentView - PullRequest
       22

Android ProgressDialog с setContentView

7 голосов
/ 04 декабря 2010

Я много читал об этом и не вижу никого, кто делал или пробовал раньше.

Итак, у меня есть объект, который расширяет ImageView, затем в этом я вызываюдиалоговое окно прогресса и задайте содержимое диалоговых окон прогресса в виде изображения (т. е. пытаетесь нарисовать диалоговое окно прогресса в изображении .. просмотр.)добавление контента

Теперь я уже видел эту ошибку на множестве постов, и да, ответ кажется очевидным.Я попытался установить все функции:

loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

Но сначала я не понимаю, зачем мне это нужно?И во-вторых, ни один из них не работает в любом случае!

Итак, вопрос в том, могу ли я установить для ProgressDialog contentView значение ImageView?Если так, что я ошибся?

Ответы [ 3 ]

43 голосов
/ 09 апреля 2012

Я сделал это;на самом деле это очень просто;использование

loadingProgressDialog.setContentView(this) 

после

loadingProgressDialog.show() 

Следующие строки кода не нужны:

loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

, то есть

loadingProgressDialog.setIndeterminate(true);
loadingProgressDialog.show();
loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView 

этого достаточно.

Я надеюсь, что это может помочь другим людям, которые ищут ответ на этот вопрос.

0 голосов
/ 04 декабря 2010

Понял.

Подсказка была в именах классов, не используйте ProgressDialog (http://developer.android.com/reference/android/app/ProgressDialog.html), когда вам не нужен диалог!

Я изменил свою реализацию для использования: ProgressBar(http://developer.android.com/reference/android/widget/ProgressBar.html), и он прекрасно работает.

В любом случае, болеет за ухо!

Вот почему я искал его:

http://www.anddev.org/novice-tutorials-f8/imageview-with-loading-spinner-t49439.html

Учебное пособие, показывающее, как вы можете использовать Spinner во время загрузки изображения.Наслаждайтесь

0 голосов
/ 04 декабря 2010

Если вы читаете документацию для разработчика progressDialog, там будет написано: «Диалог, показывающий индикатор прогресса и необязательное текстовое сообщение или представление. Одновременно можно использовать только текстовое сообщение или представление».Похоже, вы пытаетесь сделать оба.Возможно, причина вашей проблемы.

...