0

設定の「About」ボタンをクリックした後、About 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 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();
    }

}

マニフェストに追加する必要がありますか? 私はすべきではないと信じています

これは現在完全に機能する私の 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 からこのダイアログを呼び出すにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

2

単にあなたに電話するDialogFragmentためにあなたは以下を使うことができます

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

開発者サイトに詳細例があります。詳細はこちらをご覧ください

NB DialogFragmentは、APIレベル11以降でのみ使用できます。したがって、下位APIで使用すると、エラーが発生します。その場合はSupportLibraryを使用してください

于 2013-03-16T18:04:22.680 に答える