做的一个表情的APP,用Recyclerview,Glide(4.0版本)加载网络图片到ImageView,发现只加载前面5张,滑动到下面后,其他的图片才显示出来,求解,想修复,但不知问题在哪?
解决方案 »
- 求帮忙申请个google map apikey,用了几个代理都申请不到。
- 安卓socket连接测试
- 使用LayoutInflater 实例化layout布局xml文件
- android studio 无法启动
- 急!新手求助!关于Android调用webservice出错!!
- 开始学android,但是没有java基础,有c#基础
- 自定义的横向ListView在哪里设置行间距?
- activity中最上面有3个textView,下面是fragment,怎么实现点击不同的TextView,显示不同的fragment?
- android网络连接问题,android.os.NetworkOnMainThreadException异常
- 循环设置视图中的元素属性
- 打听个事呗,现在Android能选择定位方式吗
- android studio运行不了求解决
这是其中一张没及时加载出来的图片
import android.content.Intent;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import java.util.List;
import aystudio.nopi.bean.Source;
import aystudio.nopi.bqb.DetailActivity;
import aystudio.nopi.bqb.R;public class SourceAdapter extends RecyclerView.Adapter<SourceAdapter.ViewHolder> { private final static String TAG = "SourceAdapter";
Context mContext;
List<Source> sourceList; public SourceAdapter(List<Source> sourceList) {
this.sourceList = sourceList;
} @Override
public ViewHolder onCreateViewHolder(final ViewGroup viewGroup, final int i) {
if (mContext == null) {
mContext = viewGroup.getContext();
}
View view = LayoutInflater.from(mContext).inflate(R.layout.layout_cardview,viewGroup,false);
ViewHolder viewHolder = new ViewHolder(view);
viewHolder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, "onClick: "+ v.getTag());
Intent intent = new Intent(mContext,DetailActivity.class);
intent.putExtra("current_url",sourceList.get((Integer) v.getTag()).getUrl());
mContext.startActivity(intent);
}
});
return viewHolder;
} @Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.itemView.setTag(i);
Source source = sourceList.get(i);
ViewGroup.LayoutParams layoutParams = viewHolder.imageView.getLayoutParams();
layoutParams.width = viewHolder.cardView.getWidth();
viewHolder.imageView.setLayoutParams(layoutParams);
/* RequestOptions options = new RequestOptions()
.skipMemoryCache(false) //用内存缓存
.diskCacheStrategy(DiskCacheStrategy.ALL)//缓存所有图片(原图,转换图)
.fitCenter() //fitCenter 缩放图片充满ImageView CenterInside大缩小原(图) CenterCrop大裁小扩充满ImageView Center大裁(中间)小原
.error(R.drawable.error);
//Glide为4.0版本以上 配置参数*/
Glide.with(mContext)
.load(source.getUrl())
.thumbnail(Glide.with(viewHolder.imageView).load(R.drawable.glide))
.into(viewHolder.imageView);
} @Override
public int getItemCount() {
return sourceList.size();
} static class ViewHolder extends RecyclerView.ViewHolder { CardView cardView;
ImageView imageView; public ViewHolder(View itemView) {
super(itemView);
cardView = (CardView) itemView;
imageView = itemView.findViewById(R.id.iv_photo_show);
}
}
}
大小不一,表情包图片,一般都不是很大,就300KB左右
个数大概30左右
主要问题,就是加载前5个,后面的要滑动才显示,目前还没找到怎么回事