I have RecyclerView, and in OnClick method I need get Bitmap image of element I clicked:
class ViewHolder extends RecyclerView.ViewHolder {
ImageView imgSticker;
ViewHolder(View itemView) {
super(itemView);
imgSticker = itemView.findViewById(R.id.imgSticker);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mStickerListener != null) {
try {
URL url = new URL(stickerList.get(getLayoutPosition()));
image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mStickerListener.onStickerClick(image);
}
dismiss();
}
});
}
}
But this doenst work, because I get exception, that it should be done in another tread, I know I need create class extends AsyncTask and override method "doInBackground", but it is difficult for me to understand what parametres I need write here:
class downloadStickersTask extends AsyncTask<?, ?, ?>
and how I should override doInBackgroundMethod. I am beginner at android, and threads are difficult for me