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();
}
}