Не получается обратиться к vp от binding (Привязка adapter к ViewPager)
Пытаюсь сделать приложение по уроку - https://neco-desarrollo.es/2022/06/weather-app-7-viewpager-tablayout, возникла проблема с привязкой adapter к ViewPager, рассматриваемый код в ссылке выше, мой - ниже. Собственно, ни с = with(binding), ни с непосредственно binding.vp не получается обратиться к vp для привязки адаптера, почему так?
package com.example.weather.Fragments
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.fragment.app.FragmentActivity
import com.example.weather.Adapters.ViePageAdapter
import com.example.weather.R
import com.example.weather.databinding.FragmentMainBinding
import java.security.Permission
import java.util.jar.Manifest
import android.widget.Toast
import com.google.android.material.tabs.TabLayoutMediator
class MainFragment : Fragment() {
private lateinit var arLauncher : ActivityResultLauncher<String>
private val fragmentsList = listOf<Fragment>( //список фрагментов для переключения в пейджере
HourFragment.newInstance(),
DaysFragment.newInstance()
)
private lateinit var binding: FragmentMainBinding
override fun onCreateView( //до создания View
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = FragmentMainBinding.inflate(inflater, container, false)
return binding.root //возврат View
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { //когда View уже точно создана
super.onViewCreated(view, savedInstanceState)
}
private fun init() = with(binding) {
val adapter = ViePageAdapter(activity as FragmentActivity, fragmentsList)
//Вот здесь должно прописываться vp.adapter...
//binding.vp тоже не работает
}
private fun permissionListener()
{
arLauncher = registerForActivityResult(ActivityResultContracts.RequestPermission())
{
//объект логического типа в зависимости от того, дал ли пользователь свое разрешение
}
}
private fun checkPermission()
{
if (!(isPermissionTrue(android.Manifest.permission.ACCESS_FINE_LOCATION))) //если
// разрешение ещё не дано
{
permissionListener() //вызов функции, спрашивающей разрешение на что-то,
// ответ - дол ли пользователь разрешение?
arLauncher.launch(android.Manifest.permission.ACCESS_FINE_LOCATION)
}
}
companion object {
@JvmStatic
fun newInstance() = MainFragment()
}
}