导入未在Android Studio中使用

时间:2017-11-10 21:53:16

标签: android android-gradle kotlin anko

出于某种原因,非Android导入并不适用于我所拥有的这个Kotlin课程。它们使用onCreate方法在其他类中工作,但不适用于此适配器类。问题是我在这个课程中没有onCreate方法吗?我试图使用" import org.jetbrains.anko。*",但它没有用。

package com.example.christophrrb.firebasetest

import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.Button
import android.widget.TextView
import org.jetbrains.anko.*

/**
 * Created by Owner on 11/10/2017.
 */
class ViewPeople : AppCompatActivity() {
var peopleList: MutableList<Person> = mutableListOf() //This list stores all of the database value entries.
val ref: DatabaseReference = FirebaseDatabase.getInstance().getReference("people")

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.view_people)

    ref.addValueEventListener(object: ValueEventListener {
        //Once you get into these functions, p0 is your new variable that you're working with.
        override fun onCancelled(p0: DatabaseError?) {
            alert("There was an error connecting to the database. Try checking your connection.")
        }

        override fun onDataChange(p0: DataSnapshot?) {
            //ref contains everything in the database node.
            peopleList.clear() //This clears the list so when new data comes up, it doesn't keep the old data in the list.

            if (p0!!.exists()) { //This means basically "if some data exits on the database.
                for(p in p0.children) {
                    val person = p.getValue(Person::class.java) //The getValue method takes a Java class.
                    peopleList.add(person!!);
                }

                //This connects to the layout class.
                val adapter = PeopleAdapter(this@ViewPeople, R.layout.people, peopleList)
                listView.adapter = adapter
            }
        }
    })
}
}

0 个答案:

没有答案