2017-09-27 3 views
-1

Ich bin Neuling auf Kotlin, die vor kurzem von Java bewegt, in Java Ich habeTabbed Aktivität in Kotlin (Android Studio)

@Override 
    public Fragment getItem(int position) { 
     switch (position) { 
      case 0: 
       Tab1Contact tab1 = new Tab1Contact(); 
       return tab1; 
      case 1: 
       Tab2Contact tab2 = new Tab2Contact(); 
       return tab2; 
      case 2: 
       Tab3Contact tab3 = new Tab3Contact(); 
       return tab3; 
     } 
     return null; 
    } 

für Tabbed-Aktivität. Ich erstelle 3 verschiedene Klassen für verschiedene Registerkarten, um Daten zu organisieren. In Kotlin Ich bin nicht in der Lage, dies zu tun, ich

override fun getItem(position: Int): Fragment? { 
     when (position) { 
      0 -> { 
       val tab1 = TabOne() 
       return tab1 as Fragment 
      } 
      1 -> { 
       val tab2 = TabTwo() 
       return tab2 as Fragment 
      } 
      2 -> { 
       val tab3 = TabThree() 
       return tab3 as Fragment 
      } 
     } 
     return null 
    } 

aber App abstürzt versucht haben, wenn ich einfach tab1 dann wieder Fehler occuses zurückkehren, "Required Fragment gefunden Tabone"

+0

„Required Fragment gefunden importieren müssen TabOne "-> TabOne, TabTwo, TabThree muss sein Fragment erweitert werden. Wie 'Klasse TabOne: Fragment() {..}' – pRaNaY

+0

@pRaNaY bereits erweitert 'Klasse TabOne: Fragment()' aber vielleicht gibt es ein anderes Problem ... –

Antwort

1

gelöst durch die Verwendung

class TabOne : android.support.v4.app.Fragment() { } 

statt

class TabOne : android.app.Fragment() { } 
1

Sie benötigen um Ihre Tab-Klassen auf Fragment zu erweitern. Stellen Sie sicher, rückwärts
Kompatibilität

import android.support.v4.app.* 
    class TabOne: Fragment() { 
     // Implementations 
    } 

für alle Arten Sie dann versuchen

+0

Alle Tabs Klassen sind wie 'Klasse TabOne: Fragment() { } ' aber immer noch das passiert –

+0

Welcher Fehler kommt? –

+0

Nun das Problem wird gelöst, indem Sie von TabOne: android.support.v4.app.Fragment() ' –

Verwandte Themen