Android ProgressDialog с setcontentview
-
08-10-2019 - |
Вопрос
Я много прочитал много об этом, и не вижу никого, кто сделан или пробовал его раньше.
Таким образом, у меня есть объект, который расширяет ImageView, то внутри этого я вызываю диалоговое окно прогресса и установила содержимое диалоговых волей прогресса на ImageView (то есть попытка нарисовать диалоговое окно прогресса в ImageView .. View.)
loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView
loadingProgressDialog.setIndeterminate(true);
loadingProgressDialog.show();
И я получаю сообщение об ошибке: requestfeature () нужно вызывать перед добавлением содержимого
Теперь я видел эту ошибку до нагрузки постов и да, ответ кажется очевидным. Я пытался установить все функции:
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
Понятно.
Подсказка была в именах классов, не используйте 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.
Учебник, показывающий, как вы можете иметь спиннер, в то время как изображение загружается. Наслаждаться
Другие советы
Я сделал это; На самом деле, это очень легко; с использованием
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
этого достаточно.
Я надеюсь, что это может помочь другим людям искать ответ об этом вопросе.
Если вы прочитаете Doc ProgressDialog Developer DOC, он говорит «Диалог, показывающий индикатор прогресса и необязательное текстовое сообщение или представление. Только текстовое сообщение или представление могут использоваться одновременно.
Похоже, вы пытаетесь сделать обоими. Возможно, причина вашей проблемы.