我有以下Dialog进度。根据需要,此对话框进度正在注入活动/片段。当我在一个Activity中显示它时,它完全正常。 但是,当我尝试在活动中的片段中显示它时,它会显示在对话框下方。
任何修复此类以正确显示进度对话框的方法without having to manually pass the context to this class?
进度对话类
public class ProgressBuilder implements IProgressBuilder {
private ProgressDialog progressDialog;
@Inject
public ProgressBuilder(Provider<Context> contextProvider) {
this.progressDialog = new ProgressDialog(contextProvider.get());
}
public void show() {
this.show("Loading...", null);
}
public void show(String message) {
this.show(null, message);
}
public void show(String title, String message) {
this.progressDialog.setTitle(title);
this.progressDialog.setMessage(message);
this.progressDialog.show();
}
public void dismiss() {
this.progressDialog.dismiss();
}
}
活动类
public class MyActivity extends RoboFragmentActivity {
@Inject IProgressBuilder progress
}
此片段显示在MainActivity
上public class MyActivity extends RoboDialogFragment {
@Inject IProgressBuilder progress
}
答案 0 :(得分:1)
你真的应该使用DialogFragment。
文档中有大量示例:
developer.android.com/reference/android/app/DialogFragment.html
您只需使用DialogFragment的子类包装ProgressDialog。使用它们包装AlertDialog的文档中的示例,并将其替换为ProgressDialog并进行设置。