I want to set initial value to time piker
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TimePicker
import androidx.annotation.RequiresApi
class MainActivity : AppCompatActivity() {
@RequiresApi(Build.VERSION_CODES.M)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var periodTimePiker: TimePicker = findViewById(R.id.period_timePicker)
periodTimePiker.setIs24HourView(true)
periodTimePiker.hour = 10
periodTimePiker.minute = 10
}
}
and xml
<TimePicker
android:id="@+id/period_timePicker"
android:layout_width="291dp"
android:layout_height="137dp"
android:layout_gravity="center_vertical"
android:timePickerMode="spinner" />
/>
when use periodTimePiker.hour = 10 periodTimePiker.minute = 10 Application stop
the crash from android sy
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.test.appTest, PID: 10550
java.lang.NoSuchMethodError: android.widget.TimePicker.setHour
at com.test.appTest.MainActivity.onCreate(MainActivity.kt:20)
at android.app.Activity.performCreate(Activity.java:5264)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1099)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1266)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5421)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:979)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)
at dalvik.system.NativeStart.main(Native Method)
i tried periodTimePiker.hour and setHour
setHour
and setMinute
RequiresApi is API 23. You probably running it on lower version this is why it crashed. You can use deprecated method for lower versions.
periodTimePiker.setIs24HourView(true)
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
periodTimePiker.hour=5
periodTimePiker.minute=16
}else{
periodTimePiker.currentHour=5
periodTimePiker.currentMinute=16
}