java - 在设置菜单中的 onClick 事件后打开“关于”对话框

标签 java android android-activity dialog

我尝试在单击“设置”“关于”按钮后打开“关于”对话框(从 DialogFragment 扩展)。

这是我的类(class)

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;


public class AboutDialog extends DialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the Builder class for convenient dialog construction
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setMessage(R.string.about_message)
               .setPositiveButton(R.string.btn_accept, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       // FIRE ZE MISSILES!
                   }
               })
               .setNegativeButton(R.string.btn_cancel, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       // User cancelled the dialog
                   }
               });
        // Create the AlertDialog object and return it
        return builder.create();
    }

}

我需要将其添加到 list 中吗?我相信我不应该

这是我的 SettingsActivity,目前运行良好

import android.content.Intent;
import android.os.*;
import android.preference.*;
import android.view.MenuItem;

public class SettingsActivity extends PreferenceActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
    }

     public static class MyPreferenceFragment extends PreferenceFragment
    {
        @Override
        public void onCreate(final Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.prefs);
        }
    }


}

如何从 SettingsActivity 调用此对话框?

提前致谢。

最佳答案

要简单地调用您的DialogFragment,您可以使用以下内容

    AboutDialog newFragment = new AboutDialog();
    newFragment.show(getFragmentManager(), "dialog");

开发者网站中有详细示例。请参阅here了解详细信息

注意 DialogFragment 仅在 API 级别 11 或更高版本中可用。所以如果你在较低的api中使用它,就会出现错误。在这种情况下使用 SupportLibrary

关于java - 在设置菜单中的 onClick 事件后打开“关于”对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15451714/

相关文章:

java - 重复链表上的最后一个元素

java - 如何在 Spring Cloud Zuul 中配置路由

java - 一对一的双向关系会导致 OutOfMemory 错误吗?

java - 如何在开始预览时自动对焦自定义相机而不触摸屏幕?

java - Android studio 构建失败,dx.bat 错误

java - 我可以以非模式方式使用 Java JOptionPane 吗?

android - Tasks.whenAllSuccess 是否保证我将任务传递给它的顺序?

android - "Quick shortcut maker"和 "App shortcut maker"是如何工作的?

android - 写入 NFC 标签后开始新 Activity

java - 在 android 中退出 NavUtils 的应用程序