我正在尝试开发一个包含3个选项卡的应用程序,其中一个选项卡具有listview。我可以处理listview项目的onclick事件。我需要知道的是如何在同一个标签中打开新的活动/片段(不会丢失标签栏)
答案 0 :(得分:0)
您可以使用Android.Support.V4.App.Fragment
和SupportFragmentManager
来实现此目的。首先由Nuget Support.V4
包添加。在您的Activity布局中添加
RelativeLayout
,此布局将保留您的片段。添加新片段并使用片段管理器进行更改。使用函数ChangeFragment(),您将只在RealitiveLayout中更改视图。请尝试按照此示例。
<强> main.axml 强>
<!-- The Main Content View -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/SetFragment" />
<强> main_activity.cs 强>
protected void ChangeFragment(int pos)
{
Fragment fragment = null;
switch (pos)
{
case 0:
fragment = new NotificationFragment();
break;
case 1:
fragment = new SampleFragment();
break;
}
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.SetFragment, fragment, LoadFragment)
.Commit();
}
<强> sample_fragment.cs 强>
public class SampleFragment : Fragment
{
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View = inflater.Inflate(Resource.Layout.sampleView, container, false);
return View;
}
}