- 在BaseActivity和BaseFragment中定义ProgressDialog对象和显示、隐藏方法:
public class BaseActivity extends AppCompatActivity {
private ProgressDialog progressDialog;
// 显示进度条
public void showProgressDialog(String message) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(this);
progressDialog.setCanceledOnTouchOutside(false);
}
progressDialog.setMessage(message);
progressDialog.show();
}
// 隐藏进度条
public void hideProgressDialog() {
if (progressDialog != null) {
progressDialog.dismiss();
}
}
}
public class BaseFragment extends Fragment {
private ProgressDialog progressDialog;
// 显示进度条
public void showProgressDialog(String message) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(getActivity());
progressDialog.setCanceledOnTouchOutside(false);
}
progressDialog.setMessage(message);
progressDialog.show();
}
// 隐藏进度条
public void hideProgressDialog() {
if (progressDialog != null) {
progressDialog.dismiss();
}
}
}
- 在需要显示进度条的Activity和Fragment中调用相应的方法:
public class MainActivity extends BaseActivity {
public void someMethod() {
// 显示进度条
showProgressDialog("loading...");
// 在这里处理耗时的操作
// 隐藏进度条
hideProgressDialog();
}
}
public class MyFragment extends BaseFragment {
public void someMethod() {
// 显示进度条
showProgressDialog("loading...");
// 在这里处理耗时的操作
// 隐藏进度条
hideProgressDialog();
}
}