4

私は Java/Android 開発の初心者です (昨夜から学習を始めました)。しかし、1時間以上グーグルで調べた後、何も思いつきませんでした。Eclipse をエディターとして使用しています。

ここでのドキュメントを読んAlertDialogでいます。例を示します。

public static class MyAlertDialogFragment extends DialogFragment {

    public static MyAlertDialogFragment newInstance(int title) {
        MyAlertDialogFragment frag = new MyAlertDialogFragment();
        Bundle args = new Bundle();
        args.putInt("title", title);
        frag.setArguments(args);
        return frag;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        int title = getArguments().getInt("title");

        return new AlertDialog.Builder(getActivity())
                .setIcon(R.drawable.alert_dialog_icon)
                .setTitle(title)
                .setPositiveButton(R.string.alert_dialog_ok,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((FragmentAlertDialog)getActivity()).doPositiveClick();
                        }
                    }
                )
                .setNegativeButton(R.string.alert_dialog_cancel,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((FragmentAlertDialog)getActivity()).doNegativeClick();
                        }
                    }
                )
                .create();
    }
}

一部のメソッドをメモリにコミットできるように最初に書き直しましたが、「FragmentAlertDialog cannot be resolve to a type」というエラーが発生しました。Ctrl+ Shift+を押して、適切なインポートがOあることを確認しましたが、それでも消えませんでした。

そのため、サンプルコードをコピーして貼り付け、次のことをこの順序で行いました。

  1. + Ctrl+をShift押しOてインポートを正しく行います (android.app.DialogFragmentではなくを使用android.support.v4.app.DialogFragment)
  2. 一番上に私のパッケージを宣言しました
  3. R.string.alert_dialog_okR.string.alert_dialog_cancelandroid.R.string.okと にandroid.R.string.cancelそれぞれ置き換えます
  4. setIcon()入れるアイコンがまだないので削除しました

私はまだエラーが発生しています:

  1. FragmentAlertDialog型に解決できません (x4)
  2. クラスの修飾子が不正MyAlertDialogFragmentです。publicabstract&のみfinalが許可されています

私は何か間違ったことをしていますか、それともサンプルコードに何か問題がありますか?

4

2 に答える 2

1

1.FragmentAlertDialog

キャスト先のアクティビティの名前が であることを確認してくださいFragmentAlertDialog。また、必ずすべてを保存してください。すべてが保存されるまで、Eclipse が接続を確立しないことがあります。

2. MyAlertDialogFragment クラスの修飾子が不正です。パブリック、アブストラクト、ファイナルのみが許可されます

static修飾子を取り出します:

public class MyAlertDialogFragment extends DialogFragment {

またはstatic、この Fragment を保持して移動し、目的のアクティビティ内に収まるようにします。これは、Activity の右中括弧の前にMyAlertDialogFragment、 Activity 内にある必要があることを意味します。

Java/Android 開発は初めてです

複雑なことから始めないでください。Javaを学んでからAndroidに移行します。

于 2013-03-02T17:17:48.430 に答える
1

こんにちは、これらのコードを試して警告ダイアログを実装してください

       AlertDialog.Builder alert2 = new AlertDialog.Builder(this);  
            alert2.setTitle("Your Title");
            alert2.setMessage("Your Messages");
            final EditText input2 = new EditText(this);
            input2.setInputType(InputType.TYPE_CLASS_PHONE);
            alert2.setView(input2);
            alert2.setPositiveButton(GButton, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    // Do something with value!                 
                    try
                    {
                    // do your stuff here   
                    }
                    catch(Exception e)
                    {

                    }
                } 
            });

            alert2.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    // Canceled.
                }
            });

            alert2.show();
于 2013-03-02T17:21:37.757 に答える