将数据从基本活动传递到扩展它的活动

时间:2020-07-13 17:03:32

标签: android kotlin

我有一个可以像这样扩展基本Activity的Activity:

class MainActivity : BaseActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        getInfo("Pojo")
        }
}

我的基本活动对API进行了一些访问,并返回答案,如下所示:

abstract class BaseActivity : AppCompatActivity() {

    companion object {
        @JvmStatic var compositeDisposable: CompositeDisposable?=null
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        compositeDisposable = CompositeDisposable()
    }

    override fun onDestroy() {
        super.onDestroy()
        compositeDisposable?.clear()
    }

    fun getTvShows(query: String) {

        compositeDisposable?.add(
            ApiClient.getClient.getTV(Params.getParamsSearch(1, query))
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribe(this::handleResponseTvShows)
        )
    }

    private fun handleResponseTvShows(result: ObjectsSearchTVShows) {
       
       //Need to send result back to MainActivity or any activity that extends BaseActivity
    }
}

我需要将结果发送回MainActivity或任何扩展BaseActivity的活动,如何实现呢?

1 个答案:

答案 0 :(得分:0)

制作handleResponseTvShows abstractprotected

protected abstract fun handleResponseTvShows(result: ObjectsSearchTVShows)

并在MainActivity中实施:

override protected fun handleResponseTvShows(result: ObjectsSearchTVShows) {
  // process the result here
}