MoraesAlertDialogのViewをカスタマイズしてEditTextを追加。OKボタンが押されたときに、そこに入力されたデータにfindViewByIdを使ってアクセスしようとするとNullPointerExceptionが発生した。AlertDialogでOKが押されたときの処理エラーは以下。referenceどうやらEditTextが取れていない。これは、mixiさんの課題で引っかかった問題。MainActivityにAssignmentDialogFragmentというインナークラスを作ってアラートダイアログを実装していた。その中の、onCreateDialogメソッド内でこんな感じで書いていた。https://gist.github.com/daipresents/8ab63dc0173c36520ca54c7bbbec5855.js?file=MainActivity.javabuilder.setView(R.layout.dialog);でカスタムレイアウトを設定している。getActivity().findViewById(R.id.yourName);でダイアログに表示されるEditTextの値を取ろうとしているが、nullが返ってきている。調べてみると、書き方がまずいらしい。以下のように直したら動いた。https://gist.github.com/daipresents/8ab63dc0173c36520ca54c7bbbec5855.js?file=gistfile1.txtまず、カスタムレイアウトをLayoutInflaterを使って取得。DialogInterface.OnClickListener()の中で使いたいのでメンバ変数に保管。getActivity().findViewById(R.id.dialog_layout));そして、builder.setView(layout);で取得したレイアウトを設定。layout.findViewById(R.id.yourName);でそれにアクセス。しないととれないのかがよくわからない。ソフトウェア開発の実現に向けて奮闘中。週末に娘と息子とお昼寝しながら世界のビーチや離島を旅する夢を見る。ソフトウェア開発の実現に向けて奮闘中。週末に娘と息子とお昼寝しながら世界のビーチや離島を旅する夢を見る。購読管理このバーを折りたたむコメントを読み込み中...コメントをどうぞメール名前サイト%d人のブロガーが「いいね」をつけました。