- Домашняя деятельность
- Активность GeneralPlayer
Я делаю 2 действия с абстрактным классом extends, который содержит абстрактный метод. Абстрактный метод имеет различную реализацию во всех 2 классах.
когда приложение запускается, оно уходит домой и вызывает свой метод, который объявил абстрактный в абстрактном классе. это нормально.
когда я перейду ко второму (GeneralPlayer) действию. затем вызов абстрактного метода., что тоже хорошо, но когда я пришел к домашнему занятию, чем здесь вызов абстрактного метода действия GeneralPlayer, что неправильно. Здесь реализация абстрактного метода домашней активности должна вызывать ..
посмотрите на код
abstract class PlayerAbstractClass() : AppCompatActivity() {
protected fun initiliseUIHandler(){
Constants.PLAYER_UI = Handler(object : Handler.Callback {
override fun handleMessage(msg: Message?): Boolean {
updateButtonUI()
return true
}
})
}
protected abstract fun updateButtonUI()
}
class GeneralPlayer : PlayerAbstractClass() {
override fun onCreate(savedInstanceState: Bundle?) {
initiliseUIHandler()
}
override fun updateButtonUI() {
Log.i("MusicPlayer","activity")
}
}
class Home : PlayerAbstractClass(){
override fun onCreate(savedInstanceState: Bundle?) {
initiliseUIHandler()
}
override fun updateButtonUI() {
Log.i("HOME","activity")
}
}
Так что, когда приложение запускается, Домашняя активность вызывает его печать ГЛАВНАЯ: активность
когда я заходил в GeneralPlayer, он печатал MusicPlayer: активность
Выше оба утверждения в порядке.
но когда я снова вернулся на домашнюю активность, он вызвал MusicPlayer: активность , что не так, он должен вызвать HOME: активность
Подскажите пожалуйста, что я делаю не так