在android中:如何使用选项卡栏中的片段活动调用另一个片段

在android中:如何使用选项卡栏中的片段活动调用另一个片段,android,android-fragments,android-tabhost,Android,Android Fragments,Android Tabhost,在选项卡栏活动中使用片段。我有树选项卡,需要在同一选项卡中加载以下类片段 public class FindFragmentActivity extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflat

在选项卡栏活动中使用片段。我有树选项卡,需要在同一选项卡中加载以下类片段

public class FindFragmentActivity extends Fragment {

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

    View rootView = inflater.inflate(R.layout.findpartner_list_activity,container, false);
        return rootView;
        }
}
我尝试了以下代码来调用片段:

FindFragmentActivity fragment = new FindFragmentActivity();
FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

fragmentTransaction.replace(R.layout.activity_mypartner_view,fragment);

fragmentTransaction.commit();
日志:

05-08 18:52:17.755: E/AndroidRuntime(4021): FATAL EXCEPTION: main
05-08 18:52:17.755: E/AndroidRuntime(4021): java.lang.IllegalArgumentException: No view found for id 0x7f030003 (com.tech.cf:layout/findpartner_list_activity) for fragment FindFragmentActivity{417a2390 #1 id=0x7f030003}
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:919)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.os.Handler.handleCallback(Handler.java:730)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.os.Looper.loop(Looper.java:137)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at android.app.ActivityThread.main(ActivityThread.java:5103)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at java.lang.reflect.Method.invokeNative(Native Method)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at java.lang.reflect.Method.invoke(Method.java:525)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
05-08 18:52:17.755: E/AndroidRuntime(4021):     at dalvik.system.NativeStart.main(Native Method)
应用程序崩溃。我如何在选项卡栏内容中调用和加载

编辑:

code:
   getFragmentManager().beginTransaction()
    .replace(R.id.layout_partnerlistview, new FindFragmentActivity())
    .commit();

Layout:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/layout_partnerlistview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:id="@+id/logo"
            android:layout_width="fill_parent"
            android:layout_height="100dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:orientation="horizontal" >
            .
            .
            .
    </LinearLayout>
    </RelativeLayout>
代码:
getFragmentManager().beginTransaction()
.replace(R.id.layout_partnerlistview,new FindFragmentActivity())
.commit();
布局:
.
.
.

这也会导致相同的错误(找不到视图)。

片段
不能称为
活动
,它们只能通过
片段管理器
初始化,因此这段代码毫无意义:

Intent intent = new Intent(getActivity(),FindFragmentActivity.class);
getActivity().startActivity(intent);
活动
承载的是
片段
,因此您的意图应该包括对相应的
活动
的显式/隐式引用,并且在它的
onCreate
中,您可以调用所需的片段。另外,
FragmentTransaction的
方法也可以链接:

getFragmentManager().beginTransaction()
    .replace(R.id.<my container>, new FindFragmentActivity())
    .commit();
getFragmentManager().beginTransaction()
.替换(R.id.,新的FindFragmentActivity())
.commit();
编辑


第一次尝试是正确的(使用
FragmentManager
),但有一个小错误。对于
replace
方法的第一个参数,您不应提供布局id,而应提供活动现有布局中的视图id(R.id.myView),该视图将承载您的片段。例如,看一看帮助的金科玉律:如果您发生崩溃,请始终发布日志。您的ans也会崩溃应用程序。logcat是上述问题。@chimbu这是活动的布局,其中托管了
FindFragmentActivity
?您在创建时调用过setContentView()吗?这不是它的活动片段。