質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

1496閲覧

【Kotlin】Unresolved reference:DialogButtonClickListener()が解決できず

kenta0228

総合スコア20

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/05/04 07:32

前提・実現したいこと

書籍:『基礎&応用力をしっかり育成!Androidアプリ開発の教科書」
”5.3:ダイアログを表示する”でUnresolved reference : DialogButtonClickListener()が
解決できず困っています。

発生している問題・エラーメッセージ

エラーメッセージ
app/build/generated/source/buildConfig/debug/com/example/kenta/listviewsample2/OrderConfirmDialogFragment.kt
Unresolved reference: DialogButtonClickListener
Unresolved reference: DialogButtonClickListener
Unresolved reference: DialogButtonClickListener
Modifier 'private' is not applicable to 'local class'
Modifier 'inner' is not applicable to 'local class'

該当のソースコード

言語:Kotlin

package com.example.kenta.listviewsample2

import android.app.AlertDialog
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.widget.Toast
import androidx.fragment.app.DialogFragment

class OrderConfirmDialogFragment: DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?):
Dialog{
//ダイアログビルダを生成。
val builder = AlertDialog.Builder(activity)
//ダイアログのタイトルを設定。
builder.setTitle(R.string.dialog_title)
//ダイアログのメッセージを設定。
builder.setMessage(R.string.dialog_msg)
//Positive Buttonを設定。
builder.setPositiveButton(R.string.dialog_btn_ok, DialogButtonClickListener())
//Negative Buttonを設定。
builder.setPositiveButton(R.string.dialog_btn_ng, DialogButtonClickListener())
//Neutral Buttonを設定。
builder.setPositiveButton(R.string.dialog_btn_nu, DialogButtonClickListener())
//ダイアログオブジェクトを生成し、リターン。
val dialog = builder.create()
return dialog

//ダイアログのアクションボタンがタップされた時の処理が記述されたメンバクラス。 private inner class DialogButtonClickLitener : DialogInterface.OnClickListener{ override fun onClick(dialog: DialogInterface, which: Int) { //トーストメッセージ用文字列変数を用意。 var msg ="" //タップされたアクションで分岐。 when(which){ //Positive Buttonならば・・・ DialogInterface.BUTTON_POSITIVE -> //注文用のメッセージを格納。 msg = getString(R.string.dialog_ok_toast) //Negative Buttonならば・・・ DialogInterface.BUTTON_NEUTRAL -> //問合せ用のメッセージを格納。 msg = getString(R.string.dialog_nu_toast) } //トーストの表示。 Toast.makeText(activity, msg, Toast.LENGTH_LONG).show() } } }

}

### 試したこと ネットで複数Unresolved referenceの解決方法について調べましたが解決できずでした。 毎回このエラーで引っかかってしまっております。 初心者のため、初歩的な質問をしてしまっていた場合申し訳ございません。 ### 補足情報(FW/ツールのバージョンなど) Mac版 AndroidStudio3.6.3を利用しております。 他に必要な情報などあればお教えいただければ調べて記載いたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/05/04 07:43 編集

> //ダイアログのアクションボタンがタップされた時の処理が記述されたメンバクラス。 > private inner class DialogButtonClickLitener : DialogInterface.OnClickListener{ の定義で、DialogButtonClickLitener。Litとener の間のsが抜けています。スペルミスです。
dodox86

2020/05/04 07:43

それで解決したら、自己回答~解決して本質問を閉じてしまってください。
kenta0228

2020/05/04 07:56

dodox64様 簡単なスペルミスで申し訳ありませんでした。何度も見直したはずだったのですがお恥ずかしいです。 あと{} の位置が一箇所間違えており実行できなかったのですが、修正したらうまく動きました。ありがとうございます。
guest

回答1

0

自己解決

スペルミスでの修正と、{} の位置修正にて解決いたしました。
ありがとうございます。

投稿2020/05/04 07:58

kenta0228

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/05/04 08:06 編集

> スペルミスでの修正 目視での確認は限界があります。エラーメッセージが "Unresolved reference: DialogButtonClickListener"と出ているので、訳せば 「解決できない参照: DialogButtonClickListener」です。 (<初心の頃はピンと来ないと思いますが、頻出のエラーメッセージです) 意味を考え、存在するはずの"DialogButtonClickListener"をエディターの検索機能で探せば恐らくご自分で分かったと思います。
kenta0228

2020/05/04 08:42

なるほど。今度からエディターの検索機能を使ってあるはずの場所が引っ掛からなかったらスペルミス!と気付くようにしてみます。 アドバイスいただきありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問