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

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

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

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

Kotlin

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

Q&A

解決済

1回答

3931閲覧

ArrayAdapter()の引数のエラーを解消したいです

j.f15

総合スコア23

Android Studio

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

Kotlin

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

0グッド

0クリップ

投稿2021/02/07 17:15

前提・実現したいこと

現在日を取得してスピナーを押下した時に
現在日から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()で指定する方法を試してもエラーが消えることはありませんでした。

他にも確認したいファイル等ありましたら教えてください。
お手数をおかけしますがご教示をお願いします。

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

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

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

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

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

hoshi-takanori

2021/02/07 19:52

dateArray の型が IntArray だからですね。
j.f15

2021/02/07 23:56

回答ありがとうございます。 なるほど、dateArrayの箇所は配列なら何でもいいと思っていたのですがそういう事でも無かったのですね。調べ直してみたいと思います。
guest

回答1

0

自己解決

hoshiさんにdateArrayの型がおかしいとご指摘いただいたので
「ArrayAdapter int」のように検索し、
https://stackoverflow.com/questions/13384374/spinner-with-integer-array
上記URLのようにInteger型にする事で解決することができました。

投稿2021/02/08 01:59

j.f15

総合スコア23

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問