xamarin.android tab,Xamarin Android – 在片段中使用FragmentTabHost

我有一个导航抽屉应用程序,我正在使用碎片.我正在尝试创建一个使用FragmentTabHost选项卡的Fragment.我遇到的问题是我在选项卡中预期的内容不存在.它只是一个空白标签.

片段是Android.Support.V4.App.Fragment.

这是我的代码:

class MyTabFragment : Fragment

{

private FragmentTabHost mTabHost;

public override void OnCreate(Bundle savedInstanceState)

{

base.OnCreate(savedInstanceState);

}

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

{

mTabHost = new FragmentTabHost(Activity);

mTabHost.Setup(Activity, ChildFragmentManager);

mTabHost.AddTab(mTabHost.NewTabSpec("ATab").SetIndicator("ATab"),

Java.Lang.Class.FromType(typeof(MyCustomFragment)), null);

return mTabHost;

}

public override void OnDestroyView()

{

base.OnDestroyView();

mTabHost = null;

}

}

或者我试过这个:

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

{

return inflater.Inflate(Resource.Layout.fragment_tabhost, container, false);

}

public override void OnStart()

{

base.OnStart();

mTabHost = View.FindViewById(Resource.Id.tabhost);

mTabHost.Setup(Activity, ChildFragmentManager, Resource.Id.realtabcontent);

mTabHost.AddTab(mTabHost.NewTabSpec("ATab").SetIndicator("ATab"),

Java.Lang.Class.FromType(typeof(MyCustomFragment)), null);

}

XML:

android:id="@+id/tabhost"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/tabs"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="0"

android:orientation="horizontal" />

android:id="@+id/tabcontent"

android:layout_width="0dp"

android:layout_height="0dp"

android:layout_weight="0" />

android:id="@+id/realtabcontent"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1" />

但在那种情况下,我会抛出一个致命的异常.这是堆栈跟踪:

FATAL EXCEPTION: main

java.lang.IllegalStateException: No tab known for tag null

at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:330)

at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:280)

at android.view.View.dispatchAttachedToWindow(View.java:11937)

at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2415)

at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2422)

at android.view.ViewGroup.addViewInner(ViewGroup.java:3378)

at android.view.ViewGroup.addView(ViewGroup.java:3210)

at android.view.ViewGroup.addView(ViewGroup.java:3155)

at android.view.ViewGroup.addView(ViewGroup.java:3131)

at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:953)

at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1121)

at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)

at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1484)

at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:450)

at android.os.Handler.handleCallback(Handler.java:725)

at android.os.Handler.dispatchMessage(Handler.java:92)

at android.os.Looper.loop(Looper.java:137)

at android.app.ActivityThread.main(ActivityThread.java:5041)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:511)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)

at dalvik.system.NativeStart.main(Native Method)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值