Java 在“设置”菜单中的onClickEvent之后打开“关于”对话框

Java 在“设置”菜单中的onClickEvent之后打开“关于”对话框,java,android,android-activity,dialog,Java,Android,Android Activity,Dialog,在点击设置“关于”按钮后,我试图打开一个关于对话框(从DialogFragment扩展而来) 这是我的课 import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.DialogInterface; import android.os.Bundle; public class AboutDialog extends Di

在点击设置“关于”按钮后,我试图打开一个关于对话框(从DialogFragment扩展而来)

这是我的课

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();
    }

}
我需要将其添加到清单中吗?我想我不应该

这是我的设置活动,目前运行良好

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调用此对话框


提前感谢。

要调用您的
对话框fragment
,您可以使用以下命令

    AboutDialog newFragment = new AboutDialog();
    newFragment.show(getFragmentManager(), "dialog");
开发人员站点中有详细的示例。有关详细信息,请参阅


N.B.
DialogFragment
仅在api级别11或更高版本中可用。所以,如果在低级api中使用它,就会出现错误。在这种情况下,使用

很好,但是我应该在哪里为对话框添加这段代码呢?在这种情况下,如何知道在SettingsACtivity内何时按下了“关于”按钮?谢谢你的回复