Android进度条没有隐藏

时间:2010-12-13 07:00:59

标签: android

我的android应用程序中有一个仪表板部分,一旦用户点击一个按钮,就会显示一个preogressDialog(“Please Wait”)并且下一个活动会加载。但是当我点击android设备bacj按钮时,进度条仍然显示。我用dismiss()但没用。任何帮助表示赞赏。

progressDialog.setMessage("Please wait...");
progressDialog.setIndeterminate(true);
progressDialog.setCancelable(true);
progressDialog.show();
browseCategories();

protected void browseCategories() {
        Log.i(MY_DEBUG_TAG, "Bow!");
        Intent c = new Intent(this, CategoryListActivity.class);
    c.putExtra("user", u);
    startActivity(c);
}

2 个答案:

答案 0 :(得分:2)

在启动另一个活动之前立即在活动中使用进度对话框没有意义。

在大多数情况下,活动意味着面向UI,当一个人开始另一个活动时,新的活动在第一个活动的顶部“分层”。

如果CategoryListActivity在准备使用(例如加载数据)之前需要一些时间,那么它应该显示进度对话框而不是启动它的活动。使用AsyncTask加载数据或任何需要延长时间的操作是最好的方法。

我建议您阅读Application FundamentalsActivity Lifecycle

答案 1 :(得分:0)

布局XMl文件中的

   <ProgressBar 
        android:layout_marginTop="60dip"
        android:layout_gravity="center_horizontal"  
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/prgressbar"
        android:visibility="invisible"
      />

在按钮的Onclick事件中执行此操作:

ProgressBar prgressbar;
prgressbar=(ProgressBar)findViewById(R.id.prgressbar);

prgressbar.setVisibility(LinearLayout.VISIBLE); // this of visible the progress bar 

prgressbar.setVisibility(LinearLayout.INVISIBLE); // this is for invisible