Android 从一个活动开始一个片段?

Android 从一个活动开始一个片段?,android,android-fragments,Android,Android Fragments,我最近使用它从OnListItemClick中的导航栏活动中启动了一个片段: 问题是,在单击按钮之后,片段没有在主活动顶部打开 使用默认构造函数实例化片段 但现在我也在尝试同样的方法,但它不起作用: MainActivity.java MainActivity的XML有一个按钮,如下所示: <com.gc.materialdesign.views.ButtonFlat android:id="@+id/buttonflat" android

我最近使用它从OnListItemClick中的导航栏活动中启动了一个片段:

问题是,在单击按钮之后,片段没有在主活动顶部打开

使用默认构造函数实例化片段

但现在我也在尝试同样的方法,但它不起作用:

MainActivity.java
MainActivity的XML有一个按钮,如下所示:

        <com.gc.materialdesign.views.ButtonFlat
        android:id="@+id/buttonflat"
        android:onClick="startFrag"
        android:layout_width="230dp"
        android:layout_height="80dp"
        android:layout_centerInParent="true"
        android:textColor="#ffffff"
        android:text="Button" />
java的片段:

 public class Frag_FAB extends Fragment {

      public Frag_FAB() {
      }


      @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_find_people,container,false);
        return view;
       }


      }
片段的Xml格式:

    <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:background="#010008"
   android:layout_height="match_parent">

  <TextView
    android:id="@+id/txtLabel"
    android:layout_width="wrap_content"
    android:text="@string/stuff"
    android:textColor="@color/highlighted_text_material_dark"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:textSize="16dp" />


 </RelativeLayout>

您必须将片段添加到FragmentManager。以下是一个例子:

FragmentManager FragmentManager=getFragmentManager; fragmentManager.beginTransaction
.replaceR.id.frame_容器,fragment.commit

您需要通过FragmentTransaction将其添加到布局中:


在switch语句之后添加片段事务:

FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.container, fragment);
您的代码必须类似于:

switch(position){
...
...
...
        case 3:
            fragment = new CommunityFragment();

            break;
        case 4:
            fragment = new PagesFragment();
            getActionBar().hide();
            break;
        case 5:
            fragment = new WhatsHotFragment();
            break;
        case 6:
            fragment = new MyFragment();
            break;
        case 7:
            fragment = new Views();
            break;
        case 8:
            fragment = new editText();
            break;
...
        }
    FragmentManager fm = getFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.add(R.id.container, fragment); //* Here you add the fragment! :)

谢谢我没有看到。
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.container, fragment);
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.container, fragment);
switch(position){
...
...
...
        case 3:
            fragment = new CommunityFragment();

            break;
        case 4:
            fragment = new PagesFragment();
            getActionBar().hide();
            break;
        case 5:
            fragment = new WhatsHotFragment();
            break;
        case 6:
            fragment = new MyFragment();
            break;
        case 7:
            fragment = new Views();
            break;
        case 8:
            fragment = new editText();
            break;
...
        }
    FragmentManager fm = getFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.add(R.id.container, fragment); //* Here you add the fragment! :)