IndexVModel.kt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.quansu.heifengwuliu.vmodel
  2. import android.app.Application
  3. import android.os.Bundle
  4. import androidx.databinding.Bindable
  5. import com.quansu.heifengwuliu.BR
  6. import com.quansu.heifengwuliu.activity.GrabDetailsActivity
  7. import com.quansu.heifengwuliu.config.MIntentAction
  8. import com.quansu.heifengwuliu.fragment.IndexFragment
  9. import com.quansu.heifengwuliu.utils.net.NetEngine
  10. import com.ysnows.base.base.BRRepository
  11. import com.ysnows.base.base.BRViewModel
  12. import com.ysnows.base.net.IResp
  13. import com.ysnows.base.utils.UiSwitch
  14. import io.reactivex.Observable
  15. class IndexVModel(application: Application) : BRViewModel<BRRepository>(application) {
  16. var indexframent: IndexFragment? = null
  17. @Bindable
  18. var k: String? = null
  19. set(value) {
  20. field = value
  21. notifyPropertyChanged(BR.k)
  22. }
  23. fun setFragment(indexframent: IndexFragment) {
  24. this.indexframent = indexframent
  25. }
  26. fun gotoInfoDetails(info_id: String) {
  27. //到详情界面
  28. UiSwitch.bundleRes(indexframent, GrabDetailsActivity::class.java, Bundle().apply {
  29. putString("info_id", info_id)
  30. }, MIntentAction.REQUEST_CODE_ONE)
  31. }
  32. override fun apiFunc(): suspend () -> IResp<*> {
  33. return { NetEngine.service.infoListDriver(k, repository().page) }
  34. }
  35. }