Viewpager在片段中返回null

时间:2016-12-17 23:26:45

标签: android xamarin.android

我有一个包含viewpager和tablayout的片段。我可以从片段访问tablayout,但是当我尝试为视图分页器执行相同操作时,它总是返回null

//这是pagefragment上的一个方法

public override void OnActivityCreated(Bundle savedInstanceState)
{
    base.OnActivityCreated(savedInstanceState);
  tabs = this.View.FindViewById<TabLayout>(Resource.Id.mytab);
   vp = (ViewPager) Activity.FindViewById(Resource.Id.myviewpage);

    SetUpViewPager(vp);
   tabs.SetupWithViewPager(vp);
}

vp alway返回null,因此当应用程序到达SetUpViewPager(vp)时应用程序崩溃但是可以访问这些选项卡

1 个答案:

答案 0 :(得分:0)

  

我有一个包含viewpager和tablayout的片段。

问题是您在片段中托管了ViewPager,但是您试图在Activity中找到它。在Fragment中,您可以这样编码:

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    var view = inflater.Inflate(Resource.Layout.fragment1, container, false);

    var tabs = view.FindViewById<TableLayout>(Resource.Id.mytab);
    var vp1 = (ViewPager)view.FindViewById(Resource.Id.myviewpage);

    return view;
}