@RED2190

Как разобраться с ViewPager2 на разных фрагментах?

Всем доброго времени суток! Пытаюсь сделать ViewPager2 но с разными фрагментами, но что то не очень получается и так по порядку:
1. Ошибка при подключениии в MainActivity
Classifier 'FragmentManager' does not have a companion object, and thus must be initialized here
Type mismatch: inferred type is MyPagerAdapter but RecyclerView.Adapter<(raw) RecyclerView.ViewHolder!>? was expected
Classifier 'FragmentManager' does not have a companion object, and thus must be initialized here
adapter2 = MyPagerAdapter(FragmentManager)
        pager.adapter = MyPagerAdapter(FragmentManager)


MyPagerAdapter:
package com.example.testforartl.adapter

import android.annotation.SuppressLint
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter

@SuppressLint("NotConstructor")
class MyPagerAdapter(fm: FragmentManager) :
    FragmentPagerAdapter(fm!!) {
    override fun getItem(pos: Int): Fragment {
        return when (pos) {
            0 -> SecondFragment.newInstance("FirstFragment, Instance 1")
            1 -> ThirdFragment.newInstance("SecondFragment, Instance 1")
            else -> FirstFragment.newInstance("ThirdFragment, Default")
        }
    }

    override fun getCount(): Int {
        return 3
    }
}


MainActivity
import android.R.id
import android.os.Build
import android.os.Bundle
import android.view.View
import android.widget.ArrayAdapter
import android.widget.EditText
import android.widget.ImageButton
import android.widget.Spinner
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager.widget.ViewPager
import androidx.viewpager2.widget.ViewPager2
import com.example.testforartl.adapter.MyPagerAdapter
import com.example.testforartl.adapter.targetsAdapter
import com.example.testforartl.databinding.ActivityMainBinding
import com.example.testforartl.functions.countByXY
import com.example.testforartl.functions.ref
import com.example.testforartl.model.targetsModel


class MainActivity : AppCompatActivity() {


    lateinit var binding: ActivityMainBinding
    lateinit var adapter: targetsAdapter
    lateinit var recyclerView: RecyclerView
    lateinit var adapter2: MyPagerAdapter

    var count = 0
    var targetList = ArrayList<targetsModel>()
    @RequiresApi(Build.VERSION_CODES.O)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        recyclerView = binding.rvTargets
        adapter = targetsAdapter()
        recyclerView.adapter = adapter

        val pager = findViewById<ViewPager2>(R.id.VP_main)
        adapter2 = MyPagerAdapter(FragmentManager)
        pager.adapter = MyPagerAdapter(FragmentManager)


Туториал взял от сюда(https://stackoverflow.com/questions/18413309/how-t...) и он был на JS прошу о помощи
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы