Skip to content

Tablayout with Recyclerview databinding #9

@wnsdudSoftkim

Description

@wnsdudSoftkim

Issue :
Fragment 에서 데이터 통신 및 파싱 후 Recyclerview 에 아이템을 붙여주는 작업 중 정상적으로 작동되나 , 탭을 이동 시 RecyclerView가 다시 Adapt 되면서 데이터가 다시 통신 후 파싱하는 작업을 하는 문제가 있음.
Solve : ViewModel의 observe를 씀으로서 해결

override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        viewModel.Livedata.observe(viewLifecycleOwner, Observer {
            if(viewModel.data!=null) {
                val adapter =
                    RecyclerAdapter(viewModel.data, LayoutInflater.from(context))
                recycler_view.adapter = adapter
                recycler_view.layoutManager = LinearLayoutManager(context)
                recycler_view.adapter?.notifyDataSetChanged()
                (recycler_view.adapter as RecyclerAdapter).setData(it)
            }
        })
    }

데이터를 받아오는 곳.

fun initview() {
       RetrofitClient.dataservice.getdata()
           .enqueue(object : retrofit2.Callback<Camco> {
               override fun onFailure(call: retrofit2.Call<Camco>, t: Throwable) {

               }

               override fun onResponse(
                   call: retrofit2.Call<Camco>,
                   response: Response<Camco>
               ) {
                   val body = response.body()
                   //viewModel로 데이터를 보내줌.
                   if (body != null) {
                       viewModel.mysHomeListSetData(body)

                   }

               }

           })

   }

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions