前提・実現したいこと
KotlinでNumberPickerを実装し、wrapSelectorWheel = falseを設定すると、NumberPickerスクロール時に応答なしになってアプリが落ちてしまう
wrapSelectorWheel = falseを設定しなければ応答なしにはなりません
該当のソースコード
Kotlin
1class Numpic : AppCompatActivity() { 2 3 override fun onCreate(savedInstanceState: Bundle?) { 4 super.onCreate(savedInstanceState) 5 setContentView(R.layout.numpic) 6 7 this.initNumberPicker() 8 9 } 10 11 private fun initNumberPicker() { 12 val Num01 = findViewById<NumberPicker>(R.id.Num01) 13 Num01.minValue = 0 14 Num01.maxValue = 99 15 Num01.value = 20 16 Num01.wrapSelectorWheel = false 17 18 19 20 val Num02 = findViewById<NumberPicker>(R.id.Num02) 21 Num02.minValue = 0 22 Num02.maxValue = 99 23 Num02.value = 20 24 } 25 26}
xml
1<?xml version="1.0" encoding="utf-8"?> 2<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".Numpic"> 8 9 <LinearLayout 10 android:id="@+id/Base" 11 android:layout_width="match_parent" 12 android:layout_height="80dp" 13 android:orientation="horizontal" 14 android:weightSum="2"> 15 16 <FrameLayout 17 android:id="@+id/Num01Base" 18 android:layout_width="0dip" 19 android:layout_height="match_parent" 20 android:layout_weight="1" 21 android:background="#D65454"> 22 23 <NumberPicker 24 android:id="@+id/Num01" 25 android:layout_width="40dp" 26 android:layout_height="40dp" 27 android:layout_marginStart="40dp" 28 android:layout_gravity="center_vertical"/> 29 30 </FrameLayout> 31 32 <FrameLayout 33 android:id="@+id/Num02Base" 34 android:layout_width="0dip" 35 android:layout_height="match_parent" 36 android:layout_weight="1" 37 android:background="#6373CD"> 38 39 <NumberPicker 40 android:id="@+id/Num02" 41 android:layout_width="40dp" 42 android:layout_height="40dp" 43 android:layout_marginStart="40dp" 44 android:background="@color/lifeBack" 45 android:layout_gravity="center_vertical"/> 46 47 </FrameLayout> 48 49 </LinearLayout> 50</FrameLayout>
試したこと
Num02の方は応答なしにはなりません
Num01.wrapSelectorWheel = falseを入れる位置など変えてみましたが結果はかわりませんでした
どうも、Num01の値を0、もしくは99にしようとすると応答なしになるようです
エミュではなく実機で動かすと応答なしにはなりませんが操作が一時止まります
この現象の対処法、どうかご教示お願いします
あなたの回答
tips
プレビュー