[英]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
abstract
和protected
:
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.