2010-12-04 132 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