2011-10-20 90 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

這個工作,應該可能被標記爲正確的答案。 –

相關問題