如何在Activity中使用getSupportFragmentManager()

时间:2016-08-11 11:39:17

标签: android android-fragments

当我改变

public class Bmr extends Activity implements View.OnClickListener {

public class Bmr extends appcompatactivity implements View.OnClickListener {

getSupportFragmentManager()正在运行,但我需要使用Activity课程。有没有选择怎么做?

2 个答案:

答案 0 :(得分:6)

无法getSupportFragmentManager()仅适用于FragmentActivity和扩展它的类。

docs,您可以看到 AppCompatActivity 活动,因此Activity中的所有内容也可在AppCompatActivity中找到}。

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

答案 1 :(得分:0)

首先,如上所述,您需要使用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();
         }
}

这是我的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>