Android RecyclerView是视图组吗?

Android RecyclerView是视图组吗?,android,android-layout,android-recyclerview,viewgroup,android-viewgroup,Android,Android Layout,Android Recyclerview,Viewgroup,Android Viewgroup,RecyclerView是一个视图组吗 在下面的代码中,我使用的是仅与视图组一起使用的onInterceptTouchEvent,当我使用recyclerView实现此功能时,是否recyclerView是一个视图组?如果没有,那么我在其上实现onInterceptTouchEvent的视图组是什么?它的视图是什么 我正在努力实现这一点: 请帮我做这个 static class RecyclerTouchListener implements RecyclerView.OnItemTouchL

RecyclerView是一个视图组吗

在下面的代码中,我使用的是仅与视图组一起使用的
onInterceptTouchEvent
,当我使用
recyclerView
实现此功能时,是否
recyclerView
是一个
视图组
?如果没有,那么我在其上实现onInterceptTouchEvent的
视图组是什么?它的视图是什么

我正在努力实现这一点:

请帮我做这个

 static class RecyclerTouchListener implements RecyclerView.OnItemTouchListener {

        private GestureDetector gestureDetector;
        private ClickListener clickListener;

        public RecyclerTouchListener(Context context, final RecyclerView recyclerView, final ClickListener clickListener) {
            this.clickListener = clickListener;
            gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
                @Override
                public boolean onSingleTapUp(MotionEvent e) {
                    return true;
                }

                @Override
                public void onLongPress(MotionEvent e) {
                    View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
                    if (child != null && clickListener != null) {
                        clickListener.onLongClick(child, recyclerView.getChildPosition(child));
                    }
                }
            });
        }

        @Override
        public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {

            View child = rv.findChildViewUnder(e.getX(), e.getY());
            if (child != null && clickListener != null && gestureDetector.onTouchEvent(e)) {
                clickListener.onClick(child, rv.getChildPosition(child));
            }
            return false;
        }

        @Override
        public void onTouchEvent(RecyclerView rv, MotionEvent e) {
        }

        @Override
        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

        }


    }

RecyclerView类是一个ViewGroup子类,它与ListView和GridView类相关,Google通过旧版本的Android提供了该类。RecyclerView类需要使用
为了高效地回收物品,它支持使用布局管理器、装饰器和物品动画制作器,以简单为代价使该组件具有难以置信的灵活性。

Pro提示:使用[CTRL+鼠标左键]在Android Studio中选择
RecyclerView
,您将知道问题的答案。视图支架设计模式与“高效物品回收”无关-绑定视图时,它只会避免调用
findViewById
。通过实现ViewHolder设计模式,您可以显著提高应用程序的性能。不,这不是真的,在99%的情况下,它并不能真正提高性能,给findViewById打两次、三次或四次电话都不会花很多钱感谢你提供的信息我很感激,但对我来说,我从谷歌和Udacity课程开发人员那里学到了这一点在我提交一个项目供审查后,我有5个ID的findview,老师建议我使用view holder以获得更好的性能,并与我共享了此链接以了解更多信息OK,那么您是否看到SDK中可用的任何listview适配器(如简单适配器、阵列适配器、光标适配器)的源代码?他们是否使用视图保持器模式?不,请告诉我,如果您认为它能显著提高性能,原因是什么?