Android 在reycler视图中设置大数据中的有限数据
我只需要在Recyclerview中设置API中的四个数据。API中的数据是动态的。如果有4个以上的数据,那么最后一个数据应该隐藏起来,最近的数据应该显示在顶部。我已经研究过了,但找不到适用的解决方案 我的助手Android 在reycler视图中设置大数据中的有限数据,android,android-recyclerview,Android,Android Recyclerview,我只需要在Recyclerview中设置API中的四个数据。API中的数据是动态的。如果有4个以上的数据,那么最后一个数据应该隐藏起来,最近的数据应该显示在顶部。我已经研究过了,但找不到适用的解决方案 我的助手 public class EventRecyclerAdapter extends RecyclerView.Adapter<EventRecyclerAdapter.MyViewHolder> { Context context; private ArrayList<
public class EventRecyclerAdapter extends RecyclerView.Adapter<EventRecyclerAdapter.MyViewHolder> {
Context context;
private ArrayList<String> start;
private AdapterView.OnItemClickListener listener;
private ArrayList<String> desc;
private ArrayList<EventData>data;
public EventRecyclerAdapter(Context context, ArrayList<EventData> data) {
this.context = context;
this.data = data;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.content_events, parent, false);
return new EventRecyclerAdapter.MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(EventRecyclerAdapter.MyViewHolder holder, int position) {
holder.start.setText(data.get(position).getStartDate());
holder.des.setText(Html.fromHtml(data.get(position).getName()));
}
@Override
public int getItemCount() {
return data.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
private TextView start, des, viewall,name;
private CardView cardView;
public MyViewHolder(View itemView) {
super(itemView);
start = (TextView) itemView.findViewById(R.id.startdate);
des = (TextView) itemView.findViewById(R.id.description);
viewall = (TextView) itemView.findViewById(R.id.viewall);
}
}
}
- 你也可以查一下
- 你也可以查一下
@Override
public int getItemCount() {
if (data!= null && data.size() < 5) {
return data.size();
} else {
return 5;
}
}
@覆盖
public int getItemCount(){
if(data!=null&&data.size()<5){
返回data.size();
}否则{
返回5;
}
}
若您有一个随机顺序的数据列表,那个么首先将其从最新短到旧,并发送到适配器
希望它对您有用。如果您在适配器中获得的阵列列表中短接了数据,则使用此代码仅显示5项
@Override
public int getItemCount() {
if (data!= null && data.size() < 5) {
return data.size();
} else {
return 5;
}
}
@覆盖
public int getItemCount(){
if(data!=null&&data.size()<5){
返回data.size();
}否则{
返回5;
}
}
若您有一个随机顺序的数据列表,那个么首先将其从最新短到旧,并发送到适配器
希望它对您有用。添加您的代码和您尝试的内容我已经编辑了问题@PiergiorgiomIsley添加您的代码和您尝试的内容我已经编辑了问题@PiergiorgiomIsley这个解决方案在性能方面是不够的,您可能有大的数据结构,并且只使用前4个元素,您应该找到一种只保留并更新所需数据的方法。就性能而言,此解决方案是不够的,您可能有大型数据结构,并且只使用前4个元素,您应该找到一种只保留并更新所需数据的方法。
@Override
public int getItemCount() {
if (data!= null && data.size() < 5) {
return data.size();
} else {
return 5;
}
}