xamarin从一个片段导航到另一个片段

时间:2016-04-19 01:22:20

标签: android fragment xamarin.android

我试图通过单击原始片段中的按钮从片段导航到另一个片段。我怎么得到例外

Image of exception

Image of my code for the original Fragment

1 个答案:

答案 0 :(得分:1)

问题是你在调用transaction.Replace()时传递了一个Layout,而你应该传递ViewGroup的Id,片段将在你的布局中插入。

所以包含你的片段的活动的布局应该如下所示:

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

在FragmentStockSearch片段中,将OnCreateView覆盖为以下内容:

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    return inflater.Inflate(Resource.Layout.your_layout, null, false);
}

最后你的片段交易代码:

var trans = new FragmentManager.BeginTransaction();
trans.Replace(Resource.Id.content_frame, new FragmentStockSearch(), "FragmentStockSearch");
trans.AddToBackStack(null);
trans.Commit();