Возвращаемый тип 'getItem' не является подтипом возвращаемого типа переопределенного члена '@NonNull publi c abstract fun getItem (p0: Int)' - PullRequest
0 голосов
/ 27 февраля 2020

Я получаю ошибку, которая исходит от фрагмента.

Я изменил android .support.v4.app.Fragment на androidx.fragment.app.Fragment и довел его до этой одной ошибки. , Любая помощь будет принята с благодарностью.

import android.content.Context
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter

class MyAdapter(private val myContext: Context, fm: FragmentManager, internal var totalTabs: 
Int) : FragmentPagerAdapter(fm) {

// this is for fragment tabs
override fun getItem(position: Int): Fragment? {
    when (position) {
        0 -> {
            //  val homeFragment: HomeFragment = HomeFragment()
            return GenelFragment()
        }
        1 -> {
            return GovdeFragment()
        }
        2 -> {
            // val movieFragment = MovieFragment()
            return InisFragment()
        }
        3 -> {
            // val movieFragment = MovieFragment()
            return UcusFragment()

       else -> return  null
    }
}

Как мы можем исправить ошибку там. Я считаю, что это связано с импортом, но я не исправил.

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

вам следует обещать, что позиция находится в 0..3, в противном случае выведите исключение IllArgumentException, которое сообщит вам неправильное значение

0 голосов
/ 27 февраля 2020

при удалении знака ? и возврате getItem(position) вместо нуля это исправит.

import android.content.Context
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter

class MyAdapter(private val myContext: Context, fm: FragmentManager, internal 
var totalTabs: 
Int) : FragmentPagerAdapter(fm) {

// this is for fragment tabs
 override fun getItem(position: Int): Fragment {
when (position) {
    0 -> {
        //  val homeFragment: HomeFragment = HomeFragment()
        return GenelFragment()
    }
    1 -> {
        return GovdeFragment()
    }
    2 -> {
        // val movieFragment = MovieFragment()
        return InisFragment()
    }
    3 -> {
        // val movieFragment = MovieFragment()
        return UcusFragment()

   else->{throw IllegalStateException("$position is illegal") } 
  }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...