Как представить данные из класса данных в ListView в Android Kotlin? - PullRequest
0 голосов
/ 26 апреля 2020

Привет, я новичок в нативной android разработке, я пытаюсь сделать простое приложение CRUD, я использую API, который я сделал с весенней загрузкой. Пока все функции работают (1-е фото) Я следую различным урокам вокруг net, чтобы сделать это.

Я следил за этим видео Json в Gson для анализа данных из моего API (Json) в классе данных.

И это мой код для функции получить все, когда я нажимаю кнопку «Получить все». Как вы можете видеть в (Снимок экрана приложения) ListView показывает данные из стран Валь. Что мне нужно сделать, это вместо того, чтобы показывать значения из других стран. Я хочу представить значения из моего API.

val страны = arrayOf ("Индия", "США", "Китай", "SRILANKA", "Ирландия", "Германия", "Израиль", "Франция", "Непал", "Бразилия," Австралия», "Англия", "Япония", "Пакистан", "Франция")

//GET ALL
fun getall(view: View) {


    myAPIurl.httpGet().responseString { request, response, result ->
        when (result) {
            is Result.Success -> {
                val fetcheddata = result.get().toString()
                textView1.text = fetcheddata

                val mynotes = Gson().fromJson(fetcheddata, Array<MyNotes>::class.java).toList()



                //This code shows the titles of each record in the logs
                mynotes.forEach {
                    d("crizon","Post Title: ${it.title}")
                    d("crizon","Post Body: ${it.body}")
                    d("crizon", "Post Status: ${it.status}")
                }





                //I saw thi code in the internet I want to make my app to work like this but present the data from my API

                val search = findViewById<SearchView>(R.id.searchView) as SearchView

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

                val countries = arrayOf("India","USA","China","Sri Lanka","Ireland","Germany","Israel","France","Nepal","Brazil","Australia","England","Japan","Pakistan","France")

                val countryAdap : ArrayAdapter<String> = ArrayAdapter(this,android.R.layout.simple_list_item_1,countries)

                list.adapter = countryAdap

                search.setOnQueryTextListener(object : SearchView.OnQueryTextListener{

                    override fun onQueryTextSubmit(query: String?): Boolean {
                        return false
                    }

                    override fun onQueryTextChange(newText: String?): Boolean {
                        countryAdap.filter.filter(newText)
                        return false
                    }
                })


            }
            is Result.Failure -> {
                textView1.text = "Cannot Retrieve Data!"
            }
        }

    }
}

Извините, если мой вопрос сбивает с толку. Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...