2013-02-20 34 views
0

我有一个进度条,我想在我的PopupWindow里面显示,但是当前它显示在窗口外面。我认为这可能与上下文有关。我该怎么做?这里是我的示例代码:如何获取PopupWindow的上下文?

protected void onPreExecute(){ 
     super.onPreExecute(); 
     progressdialog = new ProgressDialog(MainActivity.this); 
     progressdialog.setMessage("Downloading Image"); 
     progressdialog.show(); 
    } 
+0

已使用一项新活动充当popupwindow? – 2013-02-20 11:21:37

+0

没有popupwindow不是我的情况下的活动。在mainactivity中使用视图和布局充气器来使用它。 – h4ck3d 2013-02-20 11:29:09

+0

试试这个:ProgressDialog对话框; 保护无效onPreExecute(){ \t \t \t \t \t \t对话框= ProgressDialog.show(MainActivity.this, “”, \t \t \t \t \t “下载图像”,TRUE); \t \t \t \t \t} – 2013-02-20 11:35:24

回答

0

PopupWindow或对话框在你的情况下没有任何它自己的上下文。它展示了它所展示的活动的背景。进度对话框也是一样。所以你的情况,你可以使用一个活动作为PopupWindow并通过它的上下文到进度对话框

编辑: 清单中添加到您的活动,您的活动将作为对话

<activity android:theme="@android:style/Theme.Dialog" /> 
+0

因此,我将创建一个新的活动,并在其中使用弹出窗口?现在我正在使用视图和布局充气器来设置MainActivity中的弹出窗口。我将如何根据你的方法做到这一点?任何示例代码都会很棒。 – h4ck3d 2013-02-20 11:30:46

+0

相应地,您可以创建活动并将它的theam作为Theme.Dialog显示在清单中。现在您的活动将作为对话活动工作。并且您可以在其中显示进度对话框。检查我编辑的答案 – 2013-02-20 11:38:07

0

由于您已使用自定义视图(使用布局充气器)您可以扩展PopupWindow,然后在需要时使用getContentView().getContext()上下文