Я использую модификацию для сбора данных и распечатки моего рециркулятора. Я просто хочу, чтобы, когда я нажимал на любую строку, открывалась новая активность. Но я видел в журналах, значения позиции всегда "-1". Я не могу найти какое-либо решение. У вас есть какие-либо идеи по этому поводу? Скриншот этого журнала:
Это моя основная деятельность:
class MainActivity : AppCompatActivity(),MyItemClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
ApiClient.client?.create(ApiInterface::class.java)?.tumModelleriGetir()
?.enqueue(object : Callback<List<AracModel>> {
override fun onFailure(call: Call<List<AracModel>>, t: Throwable) {
Log.e("hata", "" + t?.printStackTrace())
}
override fun onResponse(
call: Call<List<AracModel>>,
response: Response<List<AracModel>>
) {
Log.e("başarılı", call?.request().url()?.toString())
var gelenData = response?.body()
var modellist= ArrayList(response.body()!!)
rv.layoutManager=LinearLayoutManager(this@MainActivity,LinearLayoutManager.VERTICAL,false)
rv.adapter=ModelAdapter(modellist,this@MainActivity)
//for (i in 0..response?.body()?.size!! - 1)
// Log.e("başarılı", "" + response?.body()?.get(i)?.model.toString())
} }) }
override fun userItemClick(position: Int) {
Log.e("pozisyon","pozisyon: "+position)
when(position){
3->{
Toast.makeText(this,"deneme",Toast.LENGTH_SHORT).show()
}
}
}
}
Это мой адаптер:
class ModelAdapter(var modelliste: List<AracModel>, var context: Context) :
RecyclerView.Adapter<ModelAdapter.AracModelViewHolder>() {
private val itemClickListener = context as MyItemClickListener
//var modellist = ArrayList(response.body()!!)
var modellist = modelliste
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AracModelViewHolder {
var inflater = LayoutInflater.from(parent.context)
var teksatirmodel = inflater.inflate(R.layout.tek_satir_model, parent, false)
var opelViewHolder = AracModelViewHolder(teksatirmodel)
teksatirmodel.setOnClickListener {
itemClickListener.userItemClick(opelViewHolder.adapterPosition)
}
return AracModelViewHolder(teksatirmodel)
}
override fun getItemCount(): Int {
return modellist.size
}
override fun onBindViewHolder(holder: AracModelViewHolder, position: Int) {
val oAnolusturulanSatir = modellist.get(position)
holder.setData(oAnolusturulanSatir, position)
}
class AracModelViewHolder(viewGroup: View) : RecyclerView.ViewHolder(viewGroup) {
var teksatirliste = itemView as CardView
var modeltitle = teksatirliste.tvListeBaslik
fun setData(modelliste: AracModel, position: Int) {
modeltitle.text = modelliste.model }
}
}