项目中一个MainActivity 装载了四个Fragment 其中最后一个fragment中包含了一个ScrollView ,ScrollView中还包含了一个GridView(fragment的交替显示用的是隐藏/显示,而不是ViewPager装载fragment,要注意这一点哦)
我的目标是:1: fragment间来回切换时ScrollView自动滑到顶部
2: 从包含ScrollView的Fragment中跳转至其他Activity后,返回这个Fragment,fragemt依然自动滑到顶部
3: 即使手动将ScrollView滑动至中间部分,以上两条依然成立
解决方案:1,代码中:
设置ScrollView获取焦点:
scrollView.setFocusable(true);
scrollView.setFocusableInTouchMode(true);
ScrollView.requestFocus();
设置我的ScrollView中的GridView不获取焦点:
gridView.setFocusable(false);
设置ScrollView滑到顶部:
scrollView.fullScroll(ScrollView.FOCUS_UP);//这个是设置ScrollView滑动到顶部的一种方案
scrollView.scrollTo(0,0);//这是scrollView滑动到顶部的第二种方案
//这两种的区别就是当用户切换到包含ScrollView的fragment的时候