Skip to content

xuehao0217/CommonLib

Repository files navigation

公用库

Kotlin 协程 DSL网络请求封装 Compose 使用

Compose

BaseViewModel使用

    class HomeViewModel : BaseViewModel<RestApi>() {
        override fun initApi() = HttpRequest.getService(RestApi::class.java)

        val banner = MutableLiveData<List<BannerVO>?>()

        fun loadData() {
            apiDSL<BaseResult<List<BannerVO>>> {
                onRequest {
                    api.bannerList3()
                }
                onResponse {
                    banner.postValue(it.data)
                }
            }
        }
    }
     override fun initLivedata(viewModel: HomeViewModel) {
         viewModel.banner.observe(this, Observer {
             tv_home.text=it.toString()
         })
     }

RecyclerView 精简写法

    val onBindAdapter = binding.rv
        .linear().addLinearItemDecoration(R.color.transparent,15)
    //            .grid(4).addGridItemDecoration(15f, 10f)
        .onBindAdapter<ItemLayoutBinding, String> { item ->
            tvItem.text = item
        }.apply {
            setNewInstance(mutableListOf("Compose"))
            setOnItemClickListener { adapter, view, position ->
                if (position==0){
                    startActivity(ComposeActivity::class.java)
                }
            }
        }

About

Kotlin 协程 DSL网络请求样式 以及常用工具封装

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published