2016-12-17 3 views
0

Ich habe ein Fragment, das einen Viewpager und Tablayout enthält. Ich kann die tablayout aus dem Fragment zugreifen, aber wenn ich versuche, das gleiche gilt für die Ansicht Pager zu tun gibt es immer nullViewpager liefert null im Fragment

// dies ist ein Verfahren auf der 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 zurück, so dass die App stürzt ab, wenn SetUpViewPager (vp) aufgerufen wird, aber die Registerkarten sind zugänglich

Antwort

0

Ich habe ein Fragment, das einen Viewpager und Tablayout enthält.

Problem ist, dass Sie Ihre ViewPager in einem Fragment hosten, aber Sie versuchen, es in der Activity zu finden. In der Fragment können Sie wie folgt codieren:

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; 
} 
+0

Ich habe das gleiche Problem und Ihr Code funktioniert nicht. Kannst du mir helfen ? –

+0

Bitte sehen Sie diesen Link: https://stackoverflow.com/questions/49177326/switch-to-tab-2-after-selecting-listview-from-tab-1 –

Verwandte Themen