从Android中的RecyclerViewAdapter内部的凌空中加载图像

时间:2016-09-26 18:21:16

标签: android android-volley android-adapter

我应该在courseRow() { if (!this.props.courses) { return null; } return this.props.courses.map((course)=>{ return( <div key={course.id}>{course.title}</div> ); }); } 内传递什么参数。 请注意我在我的RecyclerViewAdapter类中使用它。请参阅下面的代码 onBindViewHolder()

如果我知道Volley.newRequestQueue()会通过任何活动。

RecyclerViewAdapter.java

this

2 个答案:

答案 0 :(得分:0)

在调用onBindViewHolder时,您不希望从网络加载图像。

您应该使用的基于性能的方法是一个AsyncTask,用于下载您需要的所有图像,将图像存储在缓存的位置,一旦下载完所有内容,然后将适配器设置为回收器视图。此时,onBindViewHolder应该加载图像。

另外,作为智慧之词 - 在onBindViewHolder中设置图像之前,请将图像源设置为null,然后设置您想要的实际图像。这优化了在循环视图持有者中加载图像的过程。 (请记住,用户的印象就是一切,尽一切力量为他们提供平滑的滚动体验。)

答案 1 :(得分:0)

从MainActivity传递getApplicationContext()并在RecyclerViewAdapter构造函数中初始化上下文。

<强> MainActivity.java

recyclerViewAdapter = new RecyclerViewAdapter(myArrayList, getApplicationContext());

<强> RecyclerViewAdapter.java

public RecyclerViewAdapter(ArrayList<ListModel> myArrayList, Context context) {
    this.myArrayList = myArrayList;
    this.context = context;
}