Если входящие json данные всегда имеют один и тот же формат, вы должны добавить их в массив перед использованием, и у вас должна быть модель класса для этих переменных; (Сделайте это в своем фрагменте или действии, а не в адаптере.)
var listings = ArrayList<IncomingData>
// модель класса для данных:
class IncomingData(val id: Int, val title: String, val category: String)
// добавляем входящие данные в массив типа IncomingData: (во фрагменте или действии)
for (jsonindex in 0 until list.count()) {
listings.add(
IncomingData(
jsonArray.getJSONObject(jsonIndex).getInt("id"),
jsonArray.getJSONObject(jsonIndex).getString("title"),
jsonArray.getJSONObject(jsonIndex).getString("category")
)
)
}
// теперь вы можете отправить эти данные на свой адаптер:
recyclerView.adapter = MyCustomAdapter(requireActivity(), listings, this@yourfragment_or_avtivity)
// после этого вы можете получить доступ к данным из вашего адаптера:
private class MyCustomAdapter(private val listFeed: ArrayList<IncomingData>, totalCount: Int): RecyclerView.Adapter<CustomViewHolder>() {
private val totalCount = totalCount
override fun getItemCount(): Int {
return listFeed.count()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val layoutInflater = LayoutInflater.from(parent.context);
val cellForRow = layoutInflater.inflate(R.layout.auction_main, parent, false);
return CustomViewHolder(cellForRow);
}
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
val obj = listFeed.get(position)
holder.view.textView_auction_title?.text = obj.title
}
}