Я сделал в Kotlin 'listView', который представляет имя (квесты) и позицию списка. Мне нужно при нажатии на первую позицию или на вторую позицию перейти в другой макет (позиция 0 для макета 'activity_e_ex1_port' и позиция 1 для макета 'activity_e_ex2_port'). Но у меня есть ошибка в функции 'onCreate' в командах 'onCreate' и 'setContentView' в struture 'if'.
package com.example.asus.aprendecomigovelhinho
import android.content.Context
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.v4.content.ContextCompat.startActivity
import android.support.v7.widget.LinearLayoutManager
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ListView
import android.widget.TextView
import kotlinx.android.synthetic.main.activity_d_lista.*
class D_lista : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_d_lista)
val listView = findViewById<ListView>(R.id.listView_CaixaEntrada)
listView.adapter=MyCustomAdpter(this)
}
private class MyCustomAdpter(context: Context): BaseAdapter(){
private val mContext: Context
private val questoes = arrayListOf<String>(
"Português 1º ano", "Português 2º ano")
init {
mContext = context
}
//indicará quantas linhas terá a lista
override fun getCount(): Int {
return questoes.size
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun getItem(position: Int): Any {
return "TEST STRING"
}
//para renderizar cada linha e depois a próxima
override fun getView(position: Int, convertView: View?, viewGroup: ViewGroup?): View {
val layoutInflater = LayoutInflater.from(mContext)
val rowlista = layoutInflater.inflate(R.layout.activity_d_lista_row, viewGroup, false)
val questaoTextView = rowlista.findViewById<TextView>(R.id.textViewQuestão)
questaoTextView.text = questoes.get(position )
val ordem = position+1
val positionTextView = rowlista.findViewById<TextView> (R.id.textViewPosicao)
positionTextView.text = "Ordem de chegada: $ordem"
return rowlista
}
fun onCreate(position: Int, savedInstanceState: Bundle?){
if(position==0) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_e_ex1_port)
}
if(position==1) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_e_ex2_port)
}
}
}
}