2017-04-17 19 views
0

私はアンドロイドプロジェクトから次のkotlin関数を持っています。私はどちらも映画やTvShowの 'フラグメント'の両方をベースのアンドロイドの 'フラグメント'クラスから派生して返そうとしています。このコードはJavaコードのときに機能しましたが、一度Kotlinに変換されました。これはもう機能しません。私が得ているエラーは、 'Fragment'ではなく 'MoviesFragment'タイプなので、MovieFragmentのタイプの不一致です。Kotlin:派生型を返すことができません


override fun getItem(position: Int): Fragment? { 
     when (position) { 
      0 -> { 
       val moviesFragment: MoviesFragment = MoviesFragment() 
       return moviesFragment 
      } 
      1 -> { 
       val tvShowFragment: TvShowFragment = TvShowFragment() 
       return tvShowFragment 
      } 
      else -> { 
       return null 
      } 
     } 
    } 


事前に感謝します!

答えて

1

両方のクラスでFragmentのインポートと一致するかどうか確認してください。 すべてのサブクラスで同じである必要があります。たとえば、import android.app.Fragmentまたはimport android.support.v4.app.Fragment

関連する問題