一种Tab滑动效果
课堂代码
我们将原来MainActivity的布局和代码全部转移到一个新的Fragment—ShoppingListFragment里。新的MainActivity只放ViewPager和TabLayout
修改layout/activity_main.xml
修改MainActivity.Java
新建一个Blank的Fragment,命名为ShoppingListFragment
新建一个Blank的Fragment,命名为WebViewFragment
新建一个Blank的Fragment,命名为TencentMapFragment
思考问题
Fragment和Activity之间如何传递数据
Fragment和它的宿主Activity是不是同一个线程
当Fragment被激活时,宿主Activity的findViewById能不能找到Fragment的View
宿主Activity能不能直接操作Fragment上的View
结论
Fragment和Activity基本上可以认为是在同一个线程,因此可以互相访问,但是由于Fragment可能被销毁,因此要做适当检查当前被激活的Fragment是哪一个(所以不建议直接访问),Fragment的onAttach和onDetach事件,可以在适当的时候表明自己是否被激活。