gpt4 book ai didi

android - 在 Android 的 ListView Kotlin 中点击

转载 作者:行者123 更新时间:2023-11-29 23:48:59 26 4
gpt4 key购买 nike

我在 Kotlin 中做了一个“listView”,它显示一个名称(questoes)和一个列表位置。单击第一个位置或第二个位置时,我需要转到另一个布局(布局“activity_e_ex1_port”的位置 0 和布局“activity_e_ex2_port”的位置 1)。但是我在结构“if”中的命令“onCreate”和“setContentView”中的函数“onCreate”中有一个错误。

    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)
}

}

}
}

最佳答案

您可以使用 RecyclerView,您可以在其中覆盖 getItemViewType() 以在不同位置使用不同的布局。要创建 RecyclerView,请参阅 this对于 getItemViewType(),请引用 this

关于android - 在 Android 的 ListView Kotlin 中点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51116110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com