0

次のダイアログの進行状況があります。このダイアログの進行状況は、必要に応じてアクティビティ/フラグメントに注入されています。これをアクティビティに表示すると、完全に正常に動作します。しかし、アクティビティのフラグメント内に表示しようとすると、ダイアログの下に表示されます。

進行状況ダイアログを正しく表示するようにこのクラスを修正する方法は、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

}
4

1 に答える 1

1

これには、実際にはDialogFragmentを使用する必要があります。

ドキュメントにはたくさんの例があります:

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

ProgressDialogをDialogFragmentのサブクラスでラップするだけです。AlertDialogをラップしているドキュメントの例を使用し、それをProgressDialogに置き換えると、設定が完了します。

于 2012-12-26T01:06:08.673 に答える