2012-09-06 114 views
1

我有一个从网上填充listview的活动。 当数据加载时,我想显示一个进度对话框而不是listview。进度条ICS

我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ProgressBar 
     android:id="@+android:id/progress_large" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" /> 

    <ExpandableListView 
     android:id="@+id/listview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</RelativeLayout> 

我这样做,这样的进度条显示本身(这一点也适用):

setProgressBarVisibility(true); 

然而,一旦列表视图填充(用的AsyncTask)我希望进度条消失,而不是这种情况,它保持在列表视图之上。

以下是我在的AsyncTask那样:

@Override 
    protected void onPostExecute(Void result) { 
     setProgressBarVisibility(false); 

     //... and some code to update UI 
    } 

回答

2

做到这一点在你的代码,

@Override 
    protected void onPostExecute(Void result) { 
     //progressBar.dismiss(); //this dismisses the progressbar 
       progressBar.setVisibility(ProgressBar.GONE) 

     //... and some code to update UI 
    } 
+0

我得到这样的:该方法解雇()是未定义的类型进度 – lost17

+0

然后尝试progressBar.setVisibility(ProgressBar.GONE); – VendettaDroid

+0

谢谢,它的作品! :) – lost17

0

而不必在布局ProgressBar的,你可以在preExecute创建ProgressDialog方法AsyncTask并解除postExecute方法中的ProgressDialog

+0

当然,但我更喜欢将对话框嵌入到不像弹出窗口的活动中(ProgressDialog) – lost17

0

试试这个:

声明对话框:ProgressDialog对话框;

在onPostExecute:dialog.dismiss();

希望它有助于..