Advertisement
arijulianto

ChoosePengutang

Aug 8th, 2023
1,606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.26 KB | None | 0 0
  1. package com.arijulianto.hutang
  2.  
  3. import android.content.Intent
  4. import androidx.appcompat.app.AppCompatActivity
  5. import android.os.Bundle
  6. import android.os.Handler
  7. import android.widget.Toast
  8. import androidx.recyclerview.widget.LinearLayoutManager
  9. import com.arijulianto.hutang.databinding.ChoosePengutangBinding
  10. import retrofit2.Call
  11. import retrofit2.Callback
  12. import retrofit2.Response
  13.  
  14. class ChoosePengutang : AppCompatActivity() {
  15.     private lateinit var binding: ChoosePengutangBinding
  16.     private var listData = mutableListOf<Pengutang>()
  17.     private lateinit var adapter: AdapterPengutangChooser
  18.     private lateinit var apiInterface: ApiInterface
  19.  
  20.     override fun onCreate(savedInstanceState: Bundle?) {
  21.         super.onCreate(savedInstanceState)
  22.         binding = ChoosePengutangBinding.inflate(layoutInflater)
  23.         val view = binding.root
  24.         setContentView(view)
  25.  
  26.         supportActionBar?.hide()
  27.  
  28.         apiInterface = ApiClient.getApiClient().create(ApiInterface::class.java)
  29.         loadData()
  30.         Handler().postDelayed({
  31.             initView()
  32.         }, 1000)
  33.     }
  34.  
  35.     private fun loadData(){
  36.         apiInterface.listPengutang().enqueue(object: Callback<ApiResponsePengutang?> {
  37.             override fun onResponse(
  38.                 call: Call<ApiResponsePengutang?>,
  39.                 response: Response<ApiResponsePengutang?>
  40.             ) {
  41.                 response.body()?.data?.let { rows ->
  42.                     listData = rows.toMutableList()
  43.                     //adapter.updateData(listData)
  44.                 }
  45.             }
  46.  
  47.             override fun onFailure(call: Call<ApiResponsePengutang?>, t: Throwable) {
  48.                 Toast.makeText(baseContext, t.message.toString(), Toast.LENGTH_SHORT).show()
  49.             }
  50.         })
  51.     }
  52.  
  53.     private fun initView(){
  54.         with(binding){
  55.             adapter = AdapterPengutangChooser { data ->
  56.                 val intent = Intent()
  57.                 intent.putExtra("user", data)
  58.                 //startActivity(intent)
  59.                 setResult(RESULT_OK, intent)
  60.                 finish()
  61.             }
  62.             lvData.layoutManager = LinearLayoutManager(baseContext)
  63.             lvData.adapter = adapter
  64.             adapter.updateData(listData)
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement