one1go 2018-01-17 08:49 采纳率: 14.3%
浏览 1452
已结题

Android RecycleView添加header后自动下滑,跳过header

如题,我在adapter里通过viewType设置了header,但是一进入界面就自动划过header。
但是header是存在的,下滑也会有,就是一刷新就自动跳过header,有大神知道原因吗

这是adapter中onCreateViewHolder()方法代码

 public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (viewType == TYPE_HEADER) {
            View headerView = LayoutInflater.from(parent.getContext()).inflate(R.layout.header_online, parent, false);
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            headerView.setLayoutParams(layoutParams);
            return new OnlineHeaderHolder(headerView, context);
        } else if (viewType == TYPE_STAR) {
            View starView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_online_star, parent, false);
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            starView.setLayoutParams(layoutParams);
            return new OnlineStarViewHolder(starView, context);
        } else {
            View normalView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_online, parent, false);
            return new OnlineListHolder(normalView, context);
        }
    }

这是我header的布局文件

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="@dimen/xx"
    android:background="@color/colorPrimary">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="@dimen/dimens_xh_15dp"
        android:layout_marginStart="@dimen/dimens_xh_15dp"
        android:text="@string/latest_active"
        android:textColor="@color/xx"
        android:textSize="17sp" />

    <ImageView
        android:id="@+id/xx"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginEnd="@dimen/xx"
        android:layout_marginRight="@dimen/xx"
        android:layout_toLeftOf="@+id/xx"
        android:layout_toStartOf="@+id/xx"
        android:src="@mipmap/xx" />

    <ImageView
        android:id="@+id/xx"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginEnd="xx"
        android:layout_marginRight="xx"
        android:src="@mipmap/xx" />

</RelativeLayout>

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@color/xx" />

</LinearLayout>

下面是我adapter的onbindviewholder的代码

 @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    OnlineNewAdaper.OnlineModel onlineModel = modelList.get(position);
    switch (onlineModel.getType()) {
        case TYPE_HEADER:
            ((OnlineHeaderHolder) holder).setData(onlineModel);
            ((OnlineHeaderHolder) holder).setOnlineSelectListener(listener);
            break;
        case TYPE_STAR:
            ((OnlineStarViewHolder) holder).setData(onlineModel);
            break;
        case TYPE_NORMAL:
            ((OnlineListHolder) holder).setData(onlineModel, mServerTime);
            break;
        default:
            break;
    }
}

这里OnlineModel 有一个type的属性,用type区分类型

  • 写回答

5条回答 默认 最新

  • kehengqun123 2018-01-17 09:17
    关注

    你应该是在哪里调用了scollToPosition之类的定位函数,检查一下代码

    评论

报告相同问题?

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器