Android - Progress Builder落后于我的Robo DialogFragment?

时间:2012-12-26 00:40:01

标签: android roboguice

我有以下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

}

1 个答案:

答案 0 :(得分:1)

你真的应该使用DialogFragment。

文档中有大量示例:

developer.android.com/reference/android/app/DialogFragment.html

您只需使用DialogFragment的子类包装ProgressDialog。使用它们包装AlertDialog的文档中的示例,并将其替换为ProgressDialog并进行设置。