Recently i learn how user github api but something i curious about , how can i make endless scrolling in recycler view
here my mainActivity.kt
class MainActivity : AppCompatActivity()
{
    private lateinit var binding: ActivityMainBinding
    private lateinit var viewModel :MainViewModel
    private lateinit var adapter: userAdapter
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        adapter = userAdapter()
        adapter.notifyDataSetChanged()
        viewModel = ViewModelProvider(this,ViewModelProvider.NewInstanceFactory()).get(MainViewModel::class.java)
        binding.apply {
            recyclerview.layoutManager = LinearLayoutManager(this@MainActivity)
            recyclerview.setHasFixedSize(false)
            recyclerview.adapter = adapter
            btnSearch.setOnClickListener {
            searchUsers()
            }
                etQuery.setOnKeyListener { v, keyCode, event ->
                    if (event.action == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER){
                        searchUsers()
                        return@setOnKeyListener true
                    }
                    return@setOnKeyListener false
                }
        }
    }
    private fun searchUsers(){
        binding.apply {
            val query = etQuery.text.toString()
            if(query.isEmpty()) return
            viewModel.setSearchUsers(query)
        }
        viewModel.getSearchUsers().observe(this,{
            if (it!=null){
                adapter.setList(it)
            }
        })
    }
}
Adapter.kt
here is my adapter, i have tried to change like function still doesnt work
// class userAdapter : RecyclerView.Adapter<userAdapter.UserViewHolder>() { private val list = ArrayList()
    fun setList(user: ArrayList<user>){
        list.clear()
        list.addAll(user)
        notifyDataSetChanged()
    }
    inner class UserViewHolder(val binding: UserItemListBinding) : RecyclerView.ViewHolder(binding.root){
        fun bind(user: user){
            binding.apply {
                Glide.with(itemView)
                    .load(user.avatar_url)
                    .transition(DrawableTransitionOptions.withCrossFade())
                    .centerCrop()
                    .into(userpropic)
                username.text = user.login
            }
        }
    }
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): UserViewHolder {
        val view = UserItemListBinding.inflate(LayoutInflater.from(parent.context),parent,false)
        return UserViewHolder((view))
    }
    override fun onBindViewHolder(holder: UserViewHolder, position: Int) {
        holder.bind(list[position])
    }
    override fun getItemCount(): Int = list.size
    }
Adapter.kt
here is my adapter, i have tried to change like function still doesnt work
 
    