У меня есть Recycler.Adapter, и мой onBindViewHolder
выглядит так:
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
final String url = urls.get(position);
final width_height wh = whs.get(position);
holder.imageView.setClickable(true);
Picasso.with(context)
.load(url).resize(wh.width, wh.height).centerCrop()
.into(holder.imageView);
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogFragment.show(fragmentManager, "");
dialogFragment.setImage(url);
dialogFragment.setRating(0);
}
});
holder.textView.setText(position + "");
holder.textView.setClickable(true);
holder.textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogFragment.show(fragmentManager, "");
dialogFragment.setImage(url);
dialogFragment.setRating(0);
}
});
}
dialogFragment уже создан в конструкторе Адаптера. Тем не менее, его onCreateView еще не был вызван при нажатии на держатель. И setImage
и setRating
должны изменить свои imageView и RatingBar, которые являются нулевыми, если не вызывается onCreateView фрагмента. Есть ли способ решить эту проблему?