2016-08-11 1 views
1

Wenn ichwie getSupportFragmentManager() verwenden, in Aktivität

ändern
public class Bmr extends Activity implements View.OnClickListener { 

zu

public class Bmr extends appcompatactivity implements View.OnClickListener { 

diese getSupportFragmentManager() funktioniert, aber ich muss mit Activity Klasse arbeiten. Gibt es irgendwelche Möglichkeiten, wie es geht?

+1

Nein, Sie können nicht verwenden müssen. Und warum willst du Activity statt AppCompatactivity? Aktivität ist das übergeordnete Element von appcompatactivity, also erhalten Sie alle Methoden der Tätigkeit. –

Antwort

5

Sie kann nicht. getSupportFragmentManager() ist nur verfügbar in FragmentActivity und Klassen, die es erweitern.

Vom docs können Sie sehen, dass AppCompatActivity einAktivität ist, so ist alles in Activity ist auch in AppCompatActivity zur Verfügung.

java.lang.Object 
    ↳ android.content.Context 
     ↳ android.content.ContextWrapper 
      ↳ android.view.ContextThemeWrapper 
       ↳ android.app.Activity 
        ↳ android.support.v4.app.FragmentActivity 
         ↳ android.support.v7.app.AppCompatActivity 
0

Zunächst einmal, wie oben angegeben Sie AppcompatActivity

public class MainActivity extends AppCompatActivity { 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      FragmentManager fm=getSupportFragmentManager(); 
      FragmentTransaction ft= fm.beginTransaction(); 
      ft.replace(R.id.mainframe,tab1Fragment); 
      ft.commit(); 
     } 
} 

hier ist mein activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:padding="10dp"> 
<FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/mainframe"></FrameLayout> 

</LinearLayout> 
Verwandte Themen