SettingsActivity.kt
Tue Feb 27 2024 00:20:21 GMT+0000 (Coordinated Universal Time)
Saved by @MAxxxx
package com.example.calcapptoturial
import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.Button
import android.widget.EditText
import android.widget.ImageButton
import android.widget.Spinner
import androidx.appcompat.app.AppCompatActivity
class SettingsActivity : AppCompatActivity() {
private lateinit var editTextFormativeWeight: EditText
private lateinit var editTextSummativeWeight: EditText
private lateinit var sharedPreferences: SharedPreferences
companion object {
const val EXTRA_FORMATIVE_WEIGHT = "extra_formative_weight"
const val EXTRA_SUMMATIVE_WEIGHT = "extra_summative_weight"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.dialog_settings)
// Initialize EditText fields
editTextFormativeWeight = findViewById(R.id.editTextFormativeWeight)
editTextSummativeWeight = findViewById(R.id.editTextSummativeWeight)
sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE)
// Retrieve current weights from SharedPreferences
val currentFormativeWeight = sharedPreferences.getFloat("formativeWeight", 40.0f)
val currentSummativeWeight = sharedPreferences.getFloat("summativeWeight", 60.0f)
// Set current weights as hints for EditText fields
editTextFormativeWeight.hint = "Current Formative Weight: $currentFormativeWeight"
editTextSummativeWeight.hint = "Current Summative Weight: $currentSummativeWeight"
// Set click listener for the save button
findViewById<Button>(R.id.btnSave).setOnClickListener {
saveWeights()
finish() // Close the settings activity
}
val themeOptions = arrayOf(
"Keller HS Light",
"Timber Creek HS Light",
"Fossil Ridge HS Light",
"Keller Central HS Light",
"Keller HS Dark",
"Timber Creek HS Dark",
"Fossil Ridge HS Dark",
"Keller Central HS Dark",
"Default (Light + Orange)"
)
val themeSpinner = findViewById<Spinner>(R.id.themeSpinner)
val adapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, themeOptions)
themeSpinner.adapter = adapter
// Find the close button
val closeButton = findViewById<ImageButton>(R.id.btnClose)
// Set click listener for the close button
closeButton.setOnClickListener {
// Close the settings activity
finish()
}
}
private fun saveWeights() {
// Get the input values from EditText fields
val formativeWeightInput = editTextFormativeWeight.text.toString()
val summativeWeightInput = editTextSummativeWeight.text.toString()
// Convert input values to doubles and save to SharedPreferences
sharedPreferences.edit().apply {
putFloat("formativeWeight", formativeWeightInput.toFloatOrNull() ?: 40.0f)
putFloat("summativeWeight", summativeWeightInput.toFloatOrNull() ?: 60.0f)
apply()
}
}
}



Comments