前提・実現したいこと
現在日を取得してスピナーを押下した時に
現在日から100年前までの年をスピナーに表示したい。
発生している問題・エラーメッセージ
https://hirauchi-genta.com/kotlin-spinner/
このサイトを参考に配列をスピナーの中に表示したいと考え実装を進めています。
そこでアダプター生成を行う時にArrayAdapterに赤い波線が出てしまい
None of the following functions can be called with the arguments supplied
と表示されています。
指定された引数では関数を実行できないというエラーですが引数のどこが間違えているのかわかりません。
該当のソースコード
・MemberRegistrationFragment1.kt
kotlin
1override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 2 super.onViewCreated(view, savedInstanceState) 3 4 5 //年スピナーに表示する配列の取得 6 var year = SimpleDateFormat("yyyy").format(Date()) 7 8 //Int型に変換 9 var nowYear : Int = year.toInt() 10 var dateArray : IntArray = intArrayOf(nowYear) 11 12 //現在年から100年前まで取得 13 for (i in 1..100) { 14 dateArray += dateArray[0] - i 15 } 16 17 // Spinnerの取得 18 val spinnerYear = binding.spinnerYear 19 20 var context = requireContext() 21 // Adapterの生成 22 val adapter = ArrayAdapter(context, android.R.layout.simple_spinner_item, dateArray) 23 24 // 選択肢の各項目のレイアウト 25 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) 26 27 // AdapterをSpinnerのAdapterとして設定 28 spinnerYear.adapter = adapter 29 30 }
試したこと
参考にしたサイトでは第一引数にthisを指定していましたが
https://teratail.com/questions/283415
この質問回答のようにrequireContext()で指定する方法を試してもエラーが消えることはありませんでした。
他にも確認したいファイル等ありましたら教えてください。
お手数をおかけしますがご教示をお願いします。
回答1件
あなたの回答
tips
プレビュー