AndroidでTextViewなどのViewの表示切替を行った後、次回のアプリ起動でそのView表示可否状態を維持したいときの保存はSharedPreferencesが便利です。
実装方法
AndroidのViewの表示可否状態(Visibility)は整数型で定義されており、
この値をSharedPreferencesで保存。
アプリ起動時に保存データの読み込みを行えばよいです。
この値をSharedPreferencesで保存。
アプリ起動時に保存データの読み込みを行えばよいです。
import android.os.Bundle import android.view.View import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { private val sharedPreferences by lazy{ getSharedPreferences("SaveState", MODE_PRIVATE) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 保存データ読み込みを行ってViewに設定 textView.visibility = sharedPreferences.getInt("visibility", View.VISIBLE) } fun clickButton(view: View) { val value = if (textView.visibility == View.VISIBLE) View.INVISIBLE else View.VISIBLE textView.visibility = value // 状態を保存する sharedPreferences.edit().putInt("visibility", value).apply() } }コードにある
View.VISIBLEが「表示」、View.INVISIBLEが「非表示」を表しており、これがInt型です。
なので、View.visibilityをSharedPreferencesに保存すればよいです。
サンプルコードの全体
javaバージョンもこっちに載せとく
0 件のコメント:
コメントを投稿