Kotlin言語でAndroidアプリを開発しているのですが、中々進めない部分があり質問させて頂きました。
実現したいこと
開発しているアプリは、設定値を保持するSharedPreferencesを用いて文字列データを保持しています。
その格納文字列をユーザーに選択させたい処理があり、アラートダイアログに一覧表示させたいと思っており、以下コードを書いております。
Kotlin
1//SharedPreferencesから一覧を読み込む。(データの型は「ArrayList<String>」) 2val strList: ArrayList<String> = loadArrayList("PREFERENCES_KEY") 3 4//アラートダイアログを表示 5AlertDialog.Builder(context) 6 .setTitle("タイトル") 7 .setItems(strList) { dialog, which -> //エラー発生 8 //選択時した場合の処理 9 //・・・ 10 }.show()
問題点・エラー内容
「.setItems(strList)」の部分でエラーが発生しており、中々先に進めない状況です。エラー内容は以下の通りです。
エラー(1)
None of the following functions can be called with the arguments supplied:
public final fun setItems(items: Array<(out) CharSequence!>!, listener: ((DialogInterface!, Int) -> Unit)!): AlertDialog.Builder! defined in android.app.AlertDialog.Builder
public open fun setItems(items: Array<(out) CharSequence!>!, listener: DialogInterface.OnClickListener!): AlertDialog.Builder! defined in android.app.AlertDialog.Builder
public final fun setItems(itemsId: Int, listener: ((DialogInterface!, Int) -> Unit)!): AlertDialog.Builder! defined in android.app.AlertDialog.Builder
public open fun setItems(itemsId: Int, listener: DialogInterface.OnClickListener!): AlertDialog.Builder! defined in android.app.AlertDialog.Builder
エラー(2)
Cannot infer a type for this parameter. Please specify it explicitly.
試していること
エラー(2)はエラー(1)が原因だと思いましたので、エラー(1)の対処をしております。
エラーは、ArrayListの内容が<String> は <CharSequence> と一致しないという内容だと思い、調べているのですが、いまいち解決方法が分からず、詰まったままの為質問させて頂きました。
ご教授の程、よろしくお願いします。
環境
Android Studio 4.0.1
Build #AI-193.6911.18.40.6626763, built on June 25, 2020
Runtime version: 1.8.0_242-release-1644-b3-6222593 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.6
GC: ParNew, ConcurrentMarkSweep
Memory: 2014M
Cores: 4
Registry: ide.new.welcome.screen.force=true
Non-Bundled Plugins: org.jetbrains.kotlin, com.google.services.firebase
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/01 10:21