안녕하세요
RecyclerView를 사용하여 GridLayout을 구현 하고 있는데요
GridLayout에서 90개정도의 이미지를 뿌려주고 있는데 버벅임이 심해서 구글링을 해봤는데 마땅한 답변이 없어서 직접 질문 올립니다
고수님들 답변 부탁드리겠습니다
감사합니다
소스 첨부하겠습니다
public class SimpleStringAdapter extends RecyclerView.Adapter<SimpleStringAdapter.ViewHolder> {
private View.OnClickListener onItemViewClickListener = null;
private ArrayList<File> fileArray = null;
public static class ViewHolder extends RecyclerView.ViewHolder {
public final ImageView imageView;
public ViewHolder(View v) {
super(v);
imageView = (ImageView) v.findViewById(R.id.imageView);
}
}
public SimpleStringAdapter(ArrayList<File> fileArray) {
this.fileArray = fileArray;
}
/**
* 클릭 리스너를 설정한다
* @param onItemViewClickListener
*/
public void setOnItemViewClickListener(View.OnClickListener onItemViewClickListener) {
this.onItemViewClickListener = onItemViewClickListener;
}
/**
* 새로운 ViewHolder를 작성한다
* LayoutManager에서 호출
* @param parent
* @param viewType
* @return
*/
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_row, parent,false);
if (onItemViewClickListener != null) {
v.setOnClickListener(onItemViewClickListener);
}
ViewHolder vh = new ViewHolder(v);
return vh;
}
/**
* View 안의 데이터를 변경한다
* LayoutManager에서 호출
* @param holder
* @param position
*/
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Bitmap bitmap = BitmapFactory.decodeFile(fileArray.get(position).getPath());
holder.imageView.setImageBitmap(bitmap);
}
/**
* 데이터 수를 반환한다
* LayoutManager에서 호출
* @return
*/
@Override
public int getItemCount() {
return fileArray.size();
}
}