【已解决】 喜马拉雅项目中 获取推荐内容到 RecyclerView中,为什么RecyclerView不能下拉刷新?
按照b站视频跟着敲的,现在能获取到推荐内容,但是RecyclerView 向下滑动的时候没有加载出更多的 item(就显示十个)。
为什么不能下拉刷新呢? 我切换顶部指示器后RecyclerView是有刷新的,但还是不可以下拉刷新(下拉也拉不动)。
我首先检查了Adapter,和视频内一样,其次我看了是不是RecyclerView布局没有matchparent,也没有问题。
后来我在想是不是现在喜马拉雅的推荐每次只会传过来十个?
求大佬们帮个忙,看看是哪里有问题,小弟感激不尽。
Adapter:
public class RecommendListAdapter extends RecyclerView.Adapter<RecommendListAdapter.InnerHolder> {
private List<Album> mData = new ArrayList<>();
@NonNull
@Override
public InnerHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
//这里载入View
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_recommend, parent, false);
return new InnerHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull InnerHolder holder, int position) {
//这里设置数据
holder.itemView.setTag(position);//item的position
holder.setData(mData.get(position));
}
@Override
public int getItemCount() {
if (mData != null) {
return mData.size(); //返回要显示的 项目个数
}
return 0;
}
public void setData(List<Album> albumList) {
if (mData != null) {
mData.clear();
mData.addAll(albumList);
}
//更新一下UI
notifyDataSetChanged();
}
public class InnerHolder extends RecyclerView.ViewHolder {
public InnerHolder(@NonNull View itemView) {
super(itemView);
}
public void setData(Album album) {
//绑定控件,设置数据
//专辑的icon
ImageView imageViewcover = itemView.findViewById(R.id.album_cover);
//标题
TextView title = itemView.findViewById(R.id.album_title);
//描述
TextView description = itemView.findViewById(R.id.album_description_tv);
//播放数量
TextView playcount = itemView.findViewById(R.id.album_playcount);
//专辑内容数量
TextView content_size = itemView.findViewById(R.id.album_content_size);
title.setText(album.getAlbumTitle());
description.setText(album.getAlbumIntro());
playcount.setText(album.getPlayCount() + "");
content_size.setText(album.getIncludeTrackCount() + "");
Picasso.with(itemView.getContext()).load(album.getCoverUrlLarge()).into(imageViewcover);
}
}
}
上布局代码,另外我问你一下:刷新是哪个控件完成的?
结案了...,我想的很对 从喜马拉雅获取的推荐内容只有十条,但是我的习惯不好,没有尝试打log 看一下 条数 而是在自己推理。感谢大佬的指点!这个坏毛病得改一改。
(鞠躬九十度)
item布局:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="75dp" android:background="#ffffff"> <ImageView android:id="@+id/album_cover" android:layout_width="68dp" android:layout_height="65dp" android:layout_centerVertical="true" android:layout_marginLeft="5dp" android:background="@drawable/circular_bead" android:scaleType="fitXY" /> <LinearLayout android:id="@+id/line1" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="10dp" android:layout_toRightOf="@id/album_cover" android:orientation="vertical"> <TextView android:id="@+id/album_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="end" android:lines="1" android:text="拿破仑·希尔《成功学全书》" android:textColor="@color/black" android:textSize="18sp" /> <TextView android:id="@+id/album_description_tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="3dp" android:ellipsize="end" android:lines="1" android:text="拿破仑·希尔《成功学全书》" android:textColor="#ff848484" android:textSize="12sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginRight="2dp" android:orientation="horizontal"> <ImageView android:layout_width="6dp" android:layout_height="6dp" android:layout_gravity="center_vertical" android:src="@mipmap/start" /> </LinearLayout> <TextView android:id="@+id/album_playcount" android:layout_width="45dp" android:layout_height="10dp" android:text="234.5万" android:textColor="#ff848484" android:textSize="7sp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="30dp" android:orientation="horizontal"> <ImageView android:layout_width="6dp" android:layout_height="6dp" android:layout_gravity="center_vertical" android:src="@mipmap/dianzan" /> </LinearLayout> <TextView android:id="@+id/album_content_size" android:layout_width="45dp" android:layout_height="10dp" android:layout_marginLeft="2dp" android:text="23集" android:textColor="#ff848484" android:textSize="7sp" /> </LinearLayout> </LinearLayout> </RelativeLayout>fragment布局:
<?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="match_parent" android:orientation="vertical"> <androidx.recyclerview.widget.RecyclerView android:overScrollMode="never" android:id="@+id/recommend_rvlist" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"/> </LinearLayout>刷新的UI是由哪个控件完成的
有用下拉刷新的控件吗