Android Studioを初めて使用する初心者です。

サンプルプログラムからSpinner, seekBar、RadioButton、RadioButtonをコードイングしてその値をheight.texに表示することを確認できましたが、アプリ再起動時に選択した値がheight.texには反映しますがSpinner, seekBar、RadioButtonそれぞれにも設定値が反映されるようにしたいです。

ネット上でいくつかの参考例がありましたが理解できずにいます。

下記のサンプルコードで再起動時に設定値ががSpinner, seekBar、RadioButtonに反映されるにはどのようなコーデイングが必要なのでしょうか方法を教えていただきたく宜しくお願い致します。

Andoroid Studio(kotlin対応)

-------------------------------------HeightActivity.xt

package com.example.mysize

import android.os.Bundle

import android.preference.PreferenceManager

import android.view.View

import android.widget.AdapterView

import android.widget.RadioButton

import android.widget.SeekBar

import android.widget.Spinner

import androidx.appcompat.app.AppCompatActivity

import androidx.core.content.edit

import kotlinx.android.synthetic.main.activity_height.*

class HeightActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_height)

//Spinner------

spinner5.onItemSelectedListener=

object : AdapterView.OnItemSelectedListener{

override

fun onItemSelected(

parent: AdapterView<*>?,

view: View?,

position: Int,

id: Long

) {

val spinner5 = parent as? Spinner

val item = spinner5?.selectedItem as? String

item?.let {

if (it.isNotEmpty()) height.text = it

}

}

override

fun onNothingSelected(parent: AdapterView<*>?) {

}

}

val pref = PreferenceManager.getDefaultSharedPreferences(this)

val heightVal = pref.getInt(“HEIGHT”, 160)

height.text = heightVal.toString()

seekBar.progress = heightVal

//seekBar-------

seekBar.setOnSeekBarChangeListener(

object : SeekBar.OnSeekBarChangeListener {

override fun onProgressChanged(

seekBar: SeekBar?,

progress: Int,

fromUser: Boolean

) {

height.text = progress.toString()

}

override

fun onStartTrackingTouch(seekBar: SeekBar?) {

}

override

fun onStopTrackingTouch(seekBar: SeekBar?) {

}

})

//RadioButton------

radioGroup.setOnCheckedChangeListener { group, checkedId ->

height.text = findViewById(checkedId).text

}

}

override fun onPause() {

super.onPause()

val pref = PreferenceManager.getDefaultSharedPreferences(this)

pref.edit {

//保存してる

putInt(“HEIGHT”, height.text.toString().toInt())

}

}

}

#code #teratail #spinner

Andloid Studio 3.6.3  Spinner等の選択値の保存方法|teratail
1.35 GEEK