如何成功添加片段?

时间:2015-05-30 08:03:29

标签: java android eclipse android-layout android-fragments

我只是按照教程进行操作,并且不明白为什么会出现错误。这是我的代码......

FragmentManager fManager;
@Override
protected void onCreate( Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_test);

    fManager = getFragmentManager();

    MakeTransaction();
}
public void MakeTransaction(){
    MyFragmentClass mfrag = new MyFragmentClass();
    FragmentTransaction trans = fManager.beginTransaction();

    trans.add(R.id.view_group,mfrag,"G");

}

在" trans.add(R.id.view_group,mfrag," G");"我收到错误......

错误是片段事务中的add()无法应用..

这是片段类代码##

public class MyFragmentClass extends Fragment {

Button ph;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,        
Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_setup, container,false);

}

这里是主要的xml代码,其中我有两个片段..

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/view_group"
    android:orientation="horizontal">

<fragment
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:id="@+id/fragment_setup"
    />

<fragment
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/fragment_display"
     />
</LinearLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:3)

  

错误是片段事务中的add()无法应用..

这通常是因为Fragment sublcass的片段导入与Activity中的片段导入不匹配。在您的情况下,您使用getFragmentManagerMyFragmentClass可能是支持库中Fragment的子类。在Activity使用getSupportFragmentManager()而不是getFragmentManager()。出于此目的,您必须在FragmentActivityAppCompatActivityActionBarActivity之间扩展一个