当我点击图像按钮时,图像会发生变化.当我再次返回此活动时,我可以保存此更改吗



类可疑:AppCompatActivity(({

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_suspect)
imagebutton.setOnClickListener {
imagebutton.setImageResource(R.drawable.picture2)
}
}

}

您可以将图像标识符保存到共享首选项中,然后在打开活动时从共享首选项检索图像编号。然后使用该数字设置ImageButton图像。

我还没有运行过这段代码,但应该可以运行以下代码:

private val picture1Id = 1
private val picture2Id = 2
private val IMAGE_KEY = "IMAGE_KEY"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_suspect)
imagebutton.setOnClickListener {
saveImageIdentifier(picture2Id)
imagebutton.setImageResource(R.drawable.picture2)
}

setupImageButtonFromPreferences()
}
private fun saveImageIdentifier(id: Int) {
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
with (sharedPref.edit()) {
putInt(IMAGE_KEY, id)
apply()
}
}
private fun getImageIdentifier(): Int {
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return 1
return sharedPref.getInt(IMAGE_KEY, 1)
}
private fun setupImageButtonFromPreferences() {
when (getImageIdentifier()) {
picture1Id -> imagebutton.setImageResource(R.drawable.picture1)
picture2Id -> imagebutton.setImageResource(R.drawable.picture2)
else -> return
}
}
var a = 0
class suspect : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_suspect)
if (a == 1){imagebutton.setImageResource(R.drawable.picture2)}
imagebutton.setOnClickListener {
imagebutton.setImageResource(R.drawable.picture2)
a = 1
}
imagebutton.setOnLongClickListener {
imagebutton.setImageResource(R.drawable.picture1)
a = 0
true
}
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("image", a)
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
a = savedInstanceState.getInt("image")
}
}

最新更新