Динамическое заполнение CardView картинками из сети посредством Picasso
Приветствую вас, господа.
Имеются динамически появляемые CardView (в зависимости от количества строк на сайте).
Как заполнить ImageView, лежавший в CardView динамически? То есть три строки имеем, три cardview выводим, три разные картинки (Picasso.with(getApplicationContext()).load("http://www.example/img.jpg") (Пример загрузки)
) подгружаем?
Код Адаптера под CardView(RecuclerView):
public class Adapter_Card_View extends RecyclerView.Adapter<Adapter_Card_View.ViewHolder> {
private ArrayList<String> mDataset;
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(View v) {
super(v);
mTextView = (TextView) v.findViewById(R.id.info_text);
}
}
public Adapter_Card_View(ArrayList<String> dataset) {
mDataset = dataset;
}
@Override
public Adapter_Card_View.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.mTextView.setText(mDataset.get(position));
}
@Override
public int getItemCount() {
return mDataset.size();
}
}
Код Фрагмента, в котором все это дело выводим:
private RecyclerView mRecyclerView;
private RecyclerView.LayoutManager mLayoutManager;
private Adapter_Card_View mAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_room_fond, container, false);
//Определение переменных
ArrayList<String> myDataset = getDataSet();
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new Adapter_Card_View(myDataset);
mRecyclerView.setAdapter(mAdapter);
return rootView;
}
//Добавление карточек
private ArrayList<String> getDataSet() {
ArrayList<String> mDataSet = new ArrayList();
for (int i = 0; i < Main.titleList.size(); i++) {
String s = Main.titleList.get(i);
mDataSet.add(i, s);
}
return mDataSet;
}
Количество нужных строк на сайте определяется парсингом с помощью jsoup (записываем в Main.titleList
.
Заранее благодарен за ответы.