Как исправить нерешенную ссылку: setupWithViewPager - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь реализовать TableLayout на ViewPager, но я не могу использовать метод setupWithViewPager, потому что Android Studio говорит, что это неразрешенная ссылка.

Этот TableLayout и ViewPager должны быть реализованы во фрагменте (AboutFragment.kt)

Мой ViewPager прекрасно работает без TabLayout, я имею в виду, что могу перелистывать фрагменты.

У кого-нибудь есть решение?

Вот мой AboutFragment:


package hr.ferit.brunozoric.taskie.ui.fragments

import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import hr.ferit.brunozoric.taskie.R
import hr.ferit.brunozoric.taskie.ui.adapters.ViewPagerAdapter
import hr.ferit.brunozoric.taskie.ui.fragments.base.BaseFragment
import kotlinx.android.synthetic.main.fragment_about.*



class AboutFragment: BaseFragment() {



    override fun getLayoutResourceId(): Int {
        return R.layout.fragment_about

    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        setupPager()



    }

    private fun setupPager() {
        viewPager.adapter = ViewPagerAdapter(fragmentManager!!)
        tabLayout.setupWithViewPager(viewPager)  // I have error in this line :(

    }


    companion object{
        fun newIstance(): Fragment {
            return AboutFragment()
        }
    }

}

Вот мой ViewPagerAdapter:


package hr.ferit.brunozoric.taskie.ui.adapters

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import hr.ferit.brunozoric.taskie.ui.fragments.AboutAplicationFragment

class ViewPagerAdapter(manager :FragmentManager) : FragmentStatePagerAdapter(manager) {


    companion object{
        const val NUM_OF_PAGES =2
        const val PAGE_ONE_TITLE = "About Application"
        const val PAGE_TWO_TITLE = "About Author"
    }

    private val frags = mutableListOf<Fragment>(AboutAplicationFragment(),AboutAplicationFragment())
    private val titles = mutableListOf(PAGE_ONE_TITLE, PAGE_TWO_TITLE)

    override fun getItem(position: Int): Fragment {
        return frags[position]
    }

    override fun getPageTitle(position :Int) : String{
        return titles[position]
    }

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

Вот XML-файл с ViewPager и TabLayout:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                xmlns:app="http://schemas.android.com/apk/res-auto">


  <androidx.viewpager.widget.ViewPager
          android:id="@+id/viewPager"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_below="@id/tabLayout"
          />

  <TableLayout
          android:id="@+id/tabLayout"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentTop="true"
          />


</RelativeLayout>

1 Ответ

0 голосов
/ 19 мая 2019

Вы использовали <TableLayout> вместо <TabLayout>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...