java - 从 Activity 启动 DialogFragment

标签 java android intellij-idea android-dialogfragment

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

我有一个看起来像这样的 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 its just

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

关于java - 从 Activity 启动 DialogFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33457715/

相关文章:

java - 切换 JFreeChart 轴范围的上限

android - 如何在折线图x轴 flutter 中传递字符串参数

android,响应布局调整大小

java - 通过 IntelliJ IDEA 将 MySQL 连接到 Java

java - IntelliJ错误打开zip文件或JAR list 丢失

java - 从 12 升级到 Intellij 13.1 后,Maven 项目无法编译

java - 多线程时获取BlockingQueue的大小

java - 如何在 Apache CXF jax-rs (REST) 中提交 JSON 数据作为请求主体

java - 抽象方法与监听器

java - RecyclerView 没有填充项目,而 Adapter 和 ArrayList 已经有数据