2011-10-20 27 views
1

所以我想自定义的ImageView添加到ProgressDialog:设置为ProgressDialog /添加自定义内容视图:requestfeature()必须被调用

LinearLayout root = (LinearLayout)findViewById(R.id.root); 
ProgressDialog pdialog = new ProgressDialog(context); 
pdialog.setTitle("Wait"); 
pdialog.setMessage("Loading..."); 
pdialog.addContentView((ImageView)findViewById(R.id.imageV3iew1), root.getLayoutParams()); 
pdialog.setCancelable(false); 
pdialog.show(); 

它说,指定的孩子已经有父母和我必须先调用父级的removeView。我知道如何创建自定义对话框,但我想将我的imageview权限追加到ProgressDialog。我需要什么样的功能?

+0

等一下,你粘贴的两段代码应该有区别吗?我看不到它。 –

+0

我编辑了帖子,再看一遍。我首先搞砸了。 –

回答

3

您无法通过进度对话框进行此操作。结帐这post看明白为什么。欲了解更多详情,请登录StackoverFlow post

+0

所以我不得不使用Dialog?如何使它看起来像ProgressDialog(从android.R.layout或任何其他方式找到它)?我可以用我的图像进行自定义对话框,但看起来很丑。 –

+0

是的,你只需要实现自己的对话框,因为进度对话框布局显然是固定的。 –

+0

这很糟糕。 Android SDK只是让我有了ProgressDialog的addView方法。 –

0

看起来好像您正试图将当前在活动中显示的视图加载到对话框中。如果不是这种情况,那就是为什么你得到空指针。当您使用findViewById时,您正在查找的视图必须位于当前活动中。我认为你可能想用layout inflater从布局文件加载新的视图。

我可能会对你想要完成的事情感到困惑。

+0

编辑帖子。现在应该更容易理解。 –

8

我有同样的问题。看看这个解决方案:https://stackoverflow.com/a/10070995/1487456

基本上,您需要致电.setContentView()之前拨打.show(),因此也可能.addContentView()也。

然后,您可以膨胀布局并根据需要进行自定义。

+0

这个工作,应该可能被标记为正确的答案。 –

相关问题