从 Activity 开始 DialogFragment

Start DialogFragment from Activity

我正在学习 Android 使用 IntelliJ 编程,但遇到了一个小问题。

我有一个 Activity 看起来像这样:

public class example2 extends Activity {
    ...some code...
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.optExit:
                finish();
                return true;
            case R.id.optSettings:
                Intent sintent = new Intent(this, settings.class);
                startActivity(esintent);
                return true;
            case R.id.optAbout:
                //need to start the fragmentdialog

        }
        return true;
    }
    ...some code...
}

这就是我的 DialogFragment 的样子

public class about extends DialogFragment {

    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
        b.setTitle("About");
        b.setMessage("some text");
        b.setCancelable(false);
        b.setPositiveButton("OK", null);
        return b.create();
    }
}

我几乎尝试了所有方法,创建了一个新实例并启动了方法,使用了我无法使用的 FragmentManager。我该怎么办?

对于批准的命名,使用 About 而不是 about 它只是

new About().show(getSupportFragmentManager(),"about");

只需使用 Activity 片段管理器即 getSupportFragmentManager() 。这将为该控制器 Returns 一个 FragmentManager。