简体   繁体   English

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

[英]Pass data from base activity to activity that extends it

I have an Activity that extend base Activity like so:我有一个扩展基本活动的活动,如下所示:

class MainActivity : BaseActivity() {

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

        getInfo("Pojo")
        }
}

My base activity does some API access and returns the answer like so:我的基本活动进行了一些 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
    }
}

I need to send the result back to MainActivity or any activity that extends BaseActivity, how I can achive this?我需要将结果发送回 MainActivity 或扩展 BaseActivity 的任何活动,我该如何实现?

Make handleResponseTvShows abstract and protected :使handleResponseTvShows abstractprotected

protected abstract fun handleResponseTvShows(result: ObjectsSearchTVShows)

and implement it in MainActivity :并在MainActivity中实现它:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM