Android 如何在活动中使用getSupportFragmentManager()

Android 如何在活动中使用getSupportFragmentManager(),android,android-fragments,Android,Android Fragments,当我改变 public class Bmr extends Activity implements View.OnClickListener { 到 此getSupportFragmentManager()正在工作,但我需要使用活动类。有什么办法吗?你不能getSupportFragmentManager()仅在和扩展它的类中可用 从中可以看到,AppCompatActivity是一个活动,因此活动中的所有内容也可以在AppCompatActivity中找到 java.lang.Object

当我改变

public class Bmr extends Activity implements View.OnClickListener {


getSupportFragmentManager()
正在工作,但我需要使用
活动
类。有什么办法吗?

你不能<代码>getSupportFragmentManager()仅在和扩展它的类中可用

从中可以看到,AppCompatActivity是一个活动,因此
活动
中的所有内容也可以在
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

你不能<代码>getSupportFragmentManager()仅在和扩展它的类中可用

从中可以看到,AppCompatActivity是一个活动,因此
活动
中的所有内容也可以在
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

首先,如上所述,您需要使用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();
         }
}
这是我的活动_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>

首先,如上所述,您需要使用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();
         }
}
这是我的活动_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>


不可以。您不能。为什么你想用活动来代替活动?Activity是appcompatactivity的父级,因此您将获得Activity.No的所有方法。你不能。为什么你想用活动来代替活动?Activity是appcompatactivity的父级,因此您将获得所有Activity方法。