课堂笔记
- ViewPager 显示 fragment 用的是 replace 方法,每次切换时都需要销毁旧的 fragment 和创建新的 fragment,这样切换 fragment 花费的时间就很长,出现卡顿的感觉,所以我们用 add 方法替换 replace 方法,用 show 和 hide 控制 fragment 的显示和隐藏
    private BaseFragment lastOneFragment = null;
    private void switchFragment(BaseFragment targetFragment) {
	//每次添加fragment都需要开启事务
        FragmentTransaction transaction = mFragmentManager.beginTransaction();
        if (!targetFragment.isAdded()) {
            transaction.add(R.id.main_pager_container, targetFragment);
        } else {
            transaction.show(targetFragment);
        }
        if (lastOneFragment != null) {
            transaction.hide(lastOneFragment);
        }
        lastOneFragment = targetFragment;
        transaction.commit();
    }
- 处理 ViewPager 的焦点问题,添加属性 android:descendantFocusability="blocksDescendants"
    <com.lcodecore.tkrefreshlayout.views.TbNestedScrollView
            android:id="@+id/home_pager_nested_scroller"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:overScrollMode="never">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:descendantFocusability="blocksDescendants"
                android:orientation="vertical">
                <LinearLayout
		......
- 我的虚拟机感觉添不添加这个属性都一样,焦点始终是对的
- 观看视频