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