请根据要求写出代码:界面上放置两个button和一个文本输入框,其中一个按钮的功能是将文本输入框的内容保存到本地SharedPrefence中,另外—个按钮是清除SharedPrefence中的数据。
时间: 2024-03-29 09:36:49 浏览: 56
以下是符合要求的 Kotlin 代码示例:
```kotlin
import android.content.Context
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
class MainActivity : AppCompatActivity() {
private val sharedPrefFile = "my_shared_pref"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val editText = findViewById<EditText>(R.id.editText)
val saveButton = findViewById<Button>(R.id.saveButton)
val clearButton = findViewById<Button>(R.id.clearButton)
saveButton.setOnClickListener {
val text = editText.text.toString()
saveText(this, text)
}
clearButton.setOnClickListener {
clearText(this)
}
}
private fun saveText(context: Context, text: String) {
val sharedPref: SharedPreferences = context.getSharedPreferences(sharedPrefFile, Context.MODE_PRIVATE)
with(sharedPref.edit()) {
putString("text_key", text)
apply()
}
}
private fun clearText(context: Context) {
val sharedPref: SharedPreferences = context.getSharedPreferences(sharedPrefFile, Context.MODE_PRIVATE)
with(sharedPref.edit()) {
clear()
apply()
}
}
}
```
需要注意的是,上述代码中的 `R.layout.activity_main`、`R.id.editText`、`R.id.saveButton` 和 `R.id.clearButton` 等资源 ID 需要在布局文件和资源文件中相应地定义。此外,为了使代码更加健壮,可以添加一些异常处理和边界检查。
阅读全文