Изменить значение TextView в пользовательском ListView - PullRequest
3 голосов
/ 25 марта 2012

Предположим, у нас есть этот пример:

http://techdroid.kbeanie.com/2009/07/custom-listview-for-android.html

с исходным кодом, доступным здесь:

http://code.google.com/p/myandroidwidgets/source/browse/trunk/Phonebook/src/com/abeanie/

Как изменить номер мобильного телефона после нажатия на элемент списка?

1 Ответ

5 голосов
/ 25 марта 2012

В методе onItemClick() получить элемент PhoneBook, соответствующий позиции (параметру позиции) в выбранной строке, обновить значение и затем уведомить адаптер об изменении данных с помощью вызова метода notifyDataSetChanged():

list.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int position, long index) {
                // make the adapter a field in your class (or final)
                PhoneBook element = (PhoneBook) adapter.getItem(position);
                //modify the PhoneBook element
                element.setPhone("555-555-555");
                // notify the adapter that something has changed
                adapter.notifyDataSetChanged();
                showToast(listOfPhonebook.get(position).getName());
            }
        });
...