我的 ArrayAdapter 给了我空值 - Kotlin

My ArrayAdapter gives me null value - Kotlin

我正在尝试使用 kotlin android 应用程序在 textview 中显示我的 sqlite 数据。但我对此有误。当我 运行 我的应用程序崩溃时。有什么问题?

这是我在 dbhelper 中的 read_data 函数:

fun read_data():MutableList<Kullanici> {
    val userList:MutableList<Kullanici> = ArrayList()
    val db = this.readableDatabase
    val query = "SELECT * FROM $table_name"

    val result = db.rawQuery(query,null)
    if(result.moveToFirst()) {
        do {
            val kullanici = Kullanici()
            kullanici.id = result.getString(result.getColumnIndexOrThrow(column_id)).toInt()
            kullanici.hamle = result.getString(result.getColumnIndexOrThrow(column_hamle)).toInt()
            kullanici.sure = result.getString(result.getColumnIndexOrThrow(column_sure)).toInt()
            userList.add(kullanici)

        }while (result.moveToNext())
    }

    result.close()
    db.close()
    return userList

}

这是我的主要活动:

override fun onCreate(savedInstanceState: Bundle?) {

    val lv = findViewById<ListView>(R.id.listView)
    val db  = DataBaseHelper(this)

    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    supportActionBar?.hide()
    val kolay_butonu = findViewById<Button>(R.id.button2)
    kolay_butonu.setOnClickListener {
        val intent = Intent(this, Kolay::class.java)
        startActivity(intent)
    }


    val liste = db.read_data()
    val adapter_: ArrayAdapter<*>
    adapter_ = ArrayAdapter(this, android.R.layout.simple_list_item_1, liste)
    lv.adapter = adapter_

}

最后是我遇到的错误:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference

你应该在 setContentView 之后调用 findViewById。视图仅在调用 setContentView 时膨胀,因此当您在调用 setContentView 之前找到视图时,它将 return null.

移动这条线

val lv = findViewById<ListView>(R.id.listView)

setContentView

之后