xamarin 从一个片段导航到另一个片段
xamarin navigate from one fragment to another
我试图通过单击原始片段中的按钮从一个片段导航到另一个片段。我怎么会遇到异常
问题是您在 transaction.Replace() 的调用中传递了布局,而您应该传递将在布局中插入片段的 ViewGroup 的 ID。
因此包含您的片段的 activity 的布局应如下所示:
<?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();
我试图通过单击原始片段中的按钮从一个片段导航到另一个片段。我怎么会遇到异常
问题是您在 transaction.Replace() 的调用中传递了布局,而您应该传递将在布局中插入片段的 ViewGroup 的 ID。
因此包含您的片段的 activity 的布局应如下所示:
<?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();