Android 自定义PagerAdapter,重写连续调用的setPrimaryItem方法

Android 自定义PagerAdapter,重写连续调用的setPrimaryItem方法,android,android-viewpager,fragmentpageradapter,android-pageradapter,Android,Android Viewpager,Fragmentpageradapter,Android Pageradapter,我在应用程序中使用自定义PagerAdapter,因为它覆盖了方法setPrimaryItem。当我通过PagerAdapter使用webview查看html时,setPrimaryItem方法会不断调用。因为html在屏幕上闪烁。有人知道为什么会这样吗 setPrimaryMethod()代码如下: @Override public void setPrimaryItem(ViewGroup container, int position, Object object) {

我在应用程序中使用自定义PagerAdapter,因为它覆盖了方法setPrimaryItem。当我通过PagerAdapter使用webview查看html时,setPrimaryItem方法会不断调用。因为html在屏幕上闪烁。有人知道为什么会这样吗

setPrimaryMethod()代码如下:

@Override
    public void setPrimaryItem(ViewGroup container, int position, Object object) 
    {
        super.setPrimaryItem(container, position, object);

        ScrollView scrollView = (ScrollView) object;
        ViewGroup llViewGrp = (LinearLayout)scrollView.getChildAt(0);
        View view = llViewGrp.getChildAt(0);

        if (view instanceof StudentElementHtmlView) {
            List<StudentElementEntity> studentElementsEntity = entity.get(position).getElements();

            //iterate through all elements and set the element to save the answer
            for (StudentElementEntity element : studentElementsEntity) {
                //check for the html element entity
                if (element instanceof StudentElementHtmlEntity) {
                    ((StudentElementHtmlView) view).setElement((StudentElementHtmlEntity) element);
                }
            }
        }
    }
@覆盖
公共void setPrimaryItem(视图组容器、int位置、对象)
{
super.setPrimaryItem(容器、位置、对象);
ScrollView ScrollView=(ScrollView)对象;
ViewGroup llViewGrp=(LinearLayout)scrollView.getChildAt(0);
View=llViewGrp.getChildAt(0);
if(查看StudentElementHLView的实例){
List studentElementsEntity=entity.get(position.getElements();
//迭代所有元素并设置元素以保存答案
for(StudentElementEntity元素:StudentElementEntity){
//检查html元素实体
if(StudentElementHtmlEntity的元素实例){
((StudentElementHtmlView)视图).setElement((StudentElementHtmlEntity)元素);
}
}
}
}
谢谢
Krish

我认为原因可能是手势检测器在ViewPager和WebView之间发生了碰撞。您应该在子视图中重写onInterceptTouch()和onTouch()方法,并根据需要在子视图或父视图中调用RequestDisallowWinterCeptTouchEvent(布尔标志)方法。

有解决方案吗?