2010-12-04 159 views
7

我讀過很多關於此的內容,並且無法看到任何已完成或嘗試過的人。Android ProgressDialog with setContentView

所以我已經得到了擴展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嗎?如果是的話,我得到了什麼錯誤?

回答

0

明白了。

線索在類名中,當不需要對話框時不要使用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

教程展示如何有一個微調,而圖像加載。享受

0

如果您閱讀progressDialog開發人員文檔,它會顯示「顯示進度指示器和可選文本消息或視圖的對話框,只能同時使用文本消息或視圖。」

它看起來像你正在努力做到這一點。可能是你的問題的原因。

+0

我可以看到你的話,這似乎不是我更新了原始帖子的錯誤。我從http://developer.android.com/guide/topics/ui/dialogs獲得了我的想法。html#CustomDialog – Blundell 2010-12-04 10:04:41

42

我做到了;其實,這很容易;使用

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

奇怪,把setContentView()AFTER .show()讓它在我的情況下工作。有趣。謝謝! – LargeGlasses 2014-05-28 18:01:41