Espresso在ViewPager中存在的RecyclerView列表项目上滑动

时间:2016-10-17 07:29:22

标签: android android-espresso

ViewPager包含RecyclerView。我试图在RecyclerView中刷一个项目,但不幸的是,有时候,ViewPager会被刷掉。这是Espresso中的错误吗?以下代码已用于实现此目的。

onView(withId(R.id.recyclerview)).perform(
                RecyclerViewActions.actionOnItemAtPosition(1, swipeLeft()));

在扫描列表项和ViewPager

之间寻找明确的区别

1 个答案:

答案 0 :(得分:0)

我认为可以在recyclerview中阻止viewpager拦截触摸事件,如下所示:

    <div class="table-responsive">
    <?php Pjax::begin(['id' => 'item-report', 'timeout' => false]) ?>
        <?
            $js = <<< 'SCRIPT'
                function changestatus( obj )
                {
                    $( '#successalert' ).css( 'display', 'none' );
                    $( '#erroralert' ).css( 'display', 'none' );
                    $.ajax({
                        type     :'POST',
                        dataType : 'json',
                        data : ({xval: obj.val(), id: obj.attr( 'theval' )}),
                        url  : 'updateitemreport',
                        success  : function( response )
                        {
                            if( response.error )
                            {
                                // $( '#successalert' ).css( 'display', 'none' );
                                // $( '#erroralert' ).html( response.html );
                                // $( '#erroralert' ).css( 'display', 'block' );
                            }
                            else
                            {
                                // $( '#erroralert' ).css( 'display', 'none' );
                                // $( '#successalert' ).html( response.html );
                                // $( '#successalert' ).css( 'display', 'block' );
                            }
                        }
                    });
                }

                $( '._statusselect' ).change( function() {
                    changestatus( $( this ) );
                });
SCRIPT;

$this->registerJs( $js, yii\web\View::POS_READY );
?>
        <?= GridView::widget([
            'dataProvider' => $dataProvider,
            'columns' => $collumnview,
        ]); ?>
    <?php Pjax::end(); ?>
</div>