我已经阅读了很多关于此的内容,并且看不到任何人之前已经完成或尝试过。
所以我有一个扩展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 :(得分:43)
我做到了; 事实上,这很容易;使用
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
就够了。
我希望这可以帮助其他人寻找这个问题的答案。
答案 1 :(得分:0)
如果您阅读progressDialog开发人员文档,则会显示“显示进度指示器和可选文本消息或视图的对话框。只能同时使用文本消息或视图。”
看起来你正试图做到这两点。可能是你问题的原因。
答案 2 :(得分: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
教程展示如何在加载图像时使用Spinner。享受