我的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);
}
答案 0 :(得分:2)
在启动另一个活动之前立即在活动中使用进度对话框没有意义。
在大多数情况下,活动意味着面向UI,当一个人开始另一个活动时,新的活动在第一个活动的顶部“分层”。
如果CategoryListActivity在准备使用(例如加载数据)之前需要一些时间,那么它应该显示进度对话框而不是启动它的活动。使用AsyncTask加载数据或任何需要延长时间的操作是最好的方法。
答案 1 :(得分:0)
:
<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