RecyclerView使用 及 滑动时加载图片优化方案,android应用程序开发语言

本文介绍了如何在Android应用程序中使用RecyclerView,包括自定义ViewHolder、Adapter的创建以及XML布局。同时,针对滑动时的图片加载优化,提出了控制线程数量、分页加载和重写onScrollStateChanged方法的策略,确保在滑动时只加载当前屏幕内的图片,避免内存溢出和性能问题。并提供了开源示例链接以解决ScrollView嵌套RecyclerView的显示问题。
摘要由CSDN通过智能技术生成

// Provide a reference to the type of views that you are using (custom viewholder)

//自定义的ViewHolder,持有每个Item的的所有界面元素

public static class ViewHolder extends RecyclerView.ViewHolder {

public TextView mTextView;

public ViewHolder(TextView v) {

super(v);

mTextView = v;

}

}

// Provide a suitable constructor (depends on the kind of dataset)

public MyAdapter(String[] myDataset) {

mDataset = myDataset;

}

// Create new views (invoked by the layout manager)

//创建新View,被LayoutManager调用

@Override

public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,

int viewType) {

// create a new view

View v = LayoutInflater.from(parent.getContext())

.inflate(R.layout.my_text_view, parent, false);

// set the view’s size, margins, paddings and layout parameters

ViewHolder vh = new ViewHolder(v);

return vh;

}

// Replace the contents of a view (invoked by the layout manager)

//将数据与界面进行绑定

@Override

public void onBindViewHolder(ViewHolder holder, int position) {

// - get element from your dataset at this position

// - replace the contents of the view with that element

holder.mTextView.setText(mDataset[position]);

}

// Return the size of your dataset (invoked by the layout manager)

//这个就不解释了

@Override

public int getItemCount() {

return mDataset.length;

}

}

Ada
pter:在使用RecyclerView之前,你需要一个继承自RecyclerView.Adapter的适配器,作用是将数据与每一个item的界面进行绑定。

3.XML布局

<android.support.v7.widget.RecyclerView

android:id="@+id/my_recycler_view"

android:scrollbars=“vertical”

android:layout_width=“match_parent”

android:layout_height=“match_parent”/>

注: recyclerview No adapter attached; skipping layout 若出现该错误,是由于跳过了布局,没有Adapter与之对接的原因。

附:

①设置为横向的Li

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值