直接从按钮 Xamarin.Android 通过片段更改片段 activity
Change fragment activity through fragment directly from button Xamarin.Android
我正在使用 Xamarin
的导航抽屉模板,它运行良好。所以我可以动态改变布局。现在,我需要直接从单个按钮(如快捷方式)更改片段。在片段之间进行更改的方式与简单的 activity 不同。在 activity 中,我可以通过一个按钮做简单的代码来更改 activity:
Intent nextActivity = new Intent(this, typeof(ItemAddFormActivity));
StartActivity(nextActivity);
但是,如何从单个按钮更改片段布局?我仍在搜索如何使用按钮在片段之间更改片段。
也许这里有人可以帮助我。
提前致谢。
这就是我在解决方案中的实现方式,可能对您有所帮助
这是我的片段
public class Fragment3 : Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your fragment here
}
public static Fragment3 NewInstance()
{
var frag1 = new Fragment3 { Arguments = new Bundle() };
return frag1;
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var ignored = base.OnCreateView(inflater, container, savedInstanceState);
return inflater.Inflate(Resource.Layout.fragment3, null);
}
}
要在按钮事件上显示片段,请使用此
Android.Support.V4.App.Fragment fragment = null;
fragment = Fragment3.NewInstance();
if (fragment == null)
return;
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.content_frame, fragment)
.Commit();
我正在使用 Xamarin
的导航抽屉模板,它运行良好。所以我可以动态改变布局。现在,我需要直接从单个按钮(如快捷方式)更改片段。在片段之间进行更改的方式与简单的 activity 不同。在 activity 中,我可以通过一个按钮做简单的代码来更改 activity:
Intent nextActivity = new Intent(this, typeof(ItemAddFormActivity));
StartActivity(nextActivity);
但是,如何从单个按钮更改片段布局?我仍在搜索如何使用按钮在片段之间更改片段。
也许这里有人可以帮助我。 提前致谢。
这就是我在解决方案中的实现方式,可能对您有所帮助
这是我的片段
public class Fragment3 : Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your fragment here
}
public static Fragment3 NewInstance()
{
var frag1 = new Fragment3 { Arguments = new Bundle() };
return frag1;
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var ignored = base.OnCreateView(inflater, container, savedInstanceState);
return inflater.Inflate(Resource.Layout.fragment3, null);
}
}
要在按钮事件上显示片段,请使用此
Android.Support.V4.App.Fragment fragment = null;
fragment = Fragment3.NewInstance();
if (fragment == null)
return;
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.content_frame, fragment)
.Commit();