android - 重构活动仅在提供的数据上有所不同
问题描述
我正在使用 Kotlin 在 Android Studio 中编写一个 Android 应用程序。因为我是新手,所以我错误地认为每一个新的“镜头”都需要一个新的活动。我正在写一个有多个镜头的故事游戏。
因此,我的活动仅因数据而异。
有 2 种类型的重复部分:
第一个:只有屏幕上的图片随着下一步按钮的按下而改变。
代码:
class Kadr1Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_kadr01)
}
fun nextClick(view: View) {
val intentKadr2 = Intent(this, Kadr2Activity::class.java) //every next button intents next shot
startActivity(intentKadr2)
this.finish()
}
fun backClick(view: View){
val intentKadr0 = Intent(this, MainActivity::class.java) //every back button intents previous shot
startActivity(intentKadr0)
this.finish()
}
}
第二:用户应通过单击正确答案来解决任务。
代码:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_kadr13)
}
var flag = false
fun nextClick(view: View) {
val intentKadr14 = Intent(this, Kadr14Activity::class.java)
startActivity(intentKadr14)
this.finish()
}
fun backClick(view: View){
val intentKadr12 = Intent(this, Kadr12Activity::class.java)
startActivity(intentKadr12)
this.finish()
}
fun btn1Click(view: View){
ans131Btn.setImageResource(R.drawable.btn_13_1_chosen) //picture of chosen button is changed every time it is pressed
ans132Btn.setImageResource(R.drawable.btn_13_2)
ans133Btn.setImageResource(R.drawable.btn_13_3)
flag = false
}
fun btn2Click(view: View){
ans132Btn.setImageResource(R.drawable.btn_13_2_chosen)
ans131Btn.setImageResource(R.drawable.btn_13_1)
ans133Btn.setImageResource(R.drawable.btn_13_3)
flag = true
}
fun btn3Click(view: View){
ans133Btn.setImageResource(R.drawable.btn_13_3_chosen)
ans131Btn.setImageResource(R.drawable.btn_13_1)
ans132Btn.setImageResource(R.drawable.btn_13_2)
flag = false
}
}
我读过最好摆脱重复的代码部分并以某种方式对其进行重构。
谁能给我一个提示,我可以在哪里真正找到如何重构我的代码?将不胜感激。