Как динамически добавлять элементы в listView в Android

my_list = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]

my_list.sort(lambda x,y : cmp(x['name'], y['name']))

my_list теперь будет тем, что Вы хотите.

(3 года спустя) Отредактированный для добавления:

новое key аргумент более эффективен и более опрятен. Лучший ответ теперь похож:

my_list = sorted(my_list, key=lambda k: k['name'])

... лямбда, IMO, легче понять, чем operator.itemgetter, но YMMV.

321
задан Samet ÖZTOPRAK 10 November 2019 в 23:38
поделиться

2 ответа

Короткий ответ: при создании ListView, Вы передаете его ссылка на данные. Теперь, каждый раз, когда эти данные будут изменены, они будут влиять на представление списка и таким образом добавлять объект к нему после вызова adapter.notifyDataSetChanged ();.

при использовании RecyclerView обновите только последний элемент (если Вы добавили его в конце списка objs) для сохранения памяти с: mAdapter.notifyItemInserted (mItems.size () - 1);

0
ответ дан 23 November 2019 в 00:58
поделиться

Это - простой ответ, как добавить данные динамично в listview android kotlin

class MainActivity : AppCompatActivity(){

    var listItems = arrayListOf<String>()
    val array = arrayOf("a","b","c","d","e")
    var listView: ListView? = null

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

        listItems.add("a")
        listItems.add("b")
        listItems.add("c")
        listItems.add("d")
        listItems.add("e")

        //if you want to add array items to a list you can try this for each loop
        for(items in array)
            listItems.add(items)
        Log.e("TAG","listItems array: $listItems")

    }
}

Здесь, я просто объяснил два пути, мы можем сделать это много путей.

0
ответ дан 23 November 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: