如何在ScrollView中添加RecyclerView

时间:2015-08-07 14:03:24

标签: android android-scrollview android-recyclerview

我需要在ScrollView中添加一个RecyclerView。 RecyclerView应该包装其内容,不应该是可滚动的,但整个滚动视图应该是可滚动的。 可以这样做吗?

3 个答案:

答案 0 :(得分:3)

如果查看Recycler视图adpater类

您将获得getITemViewType函数

您可以设法将滚动视图内容放在一种类型的项目中

@Override
    public int getItemViewType(int position) {
        if (position == 0) {
            return VIEW_TYPE_HEADER1;
        } else if (position == 1) {
            return VIEW_TYPE_HEADER2;
        } else {
            return VIEWTYEPITEM;
        }
    }


@Override
    public RecyclerView.ViewHolder onCreateViewHolder(
            final ViewGroup viewGroup, int viewType) {

        if (viewType == VIEWTYEPITEM) {
            //return item view
        } else if (viewType == VIEW_TYPE_HEADER2) {
            //return item view 2
        } else {
            //return item view 1

        }

    }

答案 1 :(得分:2)

RecyclerView(以及旧ListViewGridView)的主要目的是在列表中包含如此多的视图且不适合的情况下进行性能优化屏幕,因此可滚动。

如果您的RecyclerView太小,以至于没有足够的视图来填充它,或者有一些常量(和小量)的视图 - 那么您根本不需要使用它。你不会赢得任何东西。此外,当您在另一个可滚动视图中有一个可滚动视图时 - 您希望它如何工作?哪个视图应该滚动?这是不明确的,这就是为什么不可能做到的。

另一方面,如果您有很多观看次数,那么最好只使用RecyclerView而不使用ScrollView。在这种情况下,添加某种任意大的页眉或页脚视图是很常见的。由于RecyclerView已经可滚动,因此它们可以按您希望的方式工作。 @SHASHIDHAR MANCHUKONDA在回答你的问题时提出了这个想法。

答案 2 :(得分:1)

停止滚动ScrollView。 5.0是完美的。

(function (){
    var name = "Joby";
    console.log(name);
})();
console.log(name);

}