Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Twi7ter
3 / 3 / 2
Регистрация: 27.03.2013
Сообщений: 147
1

Обращение к каждому элементу Адаптера

30.07.2014, 18:09. Просмотров 632. Ответов 5
Метки нет (Все метки)

мне неужно обратиться к каждому элементу адаптера и изменить там TextView,но почему то изменяется только 1й элемент,какой бы номер позиции там не стоял ,подскажите в чем дело?
Java
1
2
3
4
5
for(int i=0;i<sAdapter.getCount();i++)
{
TextView v = (TextView) sAdapter.getView(i, findViewById(R.id.tvFileName), null);
v.SetText(String.valueOf(i);
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2014, 18:09
Ответы с готовыми решениями:

Перемешать элементы массива и выдать (задать) описание к каждому элементу
Подскажите пожалуйста. Программа состоит из кнопки и TextView При нажатии на...

Обращение к View-элементу в GridLayout
Имеется Gridlayout, созданный программно. Есть RoundButton, созданный в...

Обращение к элементу другой формы
На Activity_1 например есть кнопка по ее нажатию в editText Activity_2 что-то...

Создание адаптера
MySimpleArrayAdapter adapter = new MySimpleArrayAdapter( ...

Обновление данных адаптера
Здравствуйте. Помогите, кто сталкивался. Есть список, где в зависимости от...

5
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
30.07.2014, 18:22 2
А где этот метод стоит? А где сеттер?
0
Twi7ter
3 / 3 / 2
Регистрация: 27.03.2013
Сообщений: 147
30.07.2014, 19:13  [ТС] 3
getView это стандартный метод адаптера,сеттер до данного кода установлен,мне просто нужно понять как получить по очереди все элементы в адаптере,так как я привел,не работает
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
30.07.2014, 21:26 4
Twi7ter, обойти всю коллекцию, которую Вы используете в адаптере, изменить данные, вызвать notifyOnDataSetChanged();

Цитата Сообщение от Twi7ter Посмотреть сообщение
TextView v = (TextView) sAdapter.getView(i, findViewById(R.id.tvFileName), null);
а это вообще что-то странное
0
Twi7ter
3 / 3 / 2
Регистрация: 27.03.2013
Сообщений: 147
30.07.2014, 23:03  [ТС] 5
YuraAAA, здесь я получаю текствью по номеру i,по идее должен был его вернуть но почему то возвращает всегда 1й элемент

Добавлено через 43 секунды
вот так я все это создаю
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    data = new ArrayList<Map<String, Object>>();
            Map<String, Object> m;
 
            for (int i = 0; i < fileList.size(); i++) {
                m = new HashMap<String, Object>();
                m.put(ATTRIBUTE_NAME_FILE, fileList.get(i));
                m.put(ATTRIBUTE_NAME_DATE, DateValue.get(i));
 
                data.add(m);
 
            }
 
            // массив имен атрибутов, из которых будут читаться данные
            String[] from = { ATTRIBUTE_NAME_FILE, ATTRIBUTE_NAME_DATE, };
            // массив ID View-компонентов, в которые будут вставлять данные
            int[] to = { R.id.tvFileName, R.id.tvDate };
            // создаем адаптер
            sAdapter = new SimpleAdapter(this, data, R.layout.item, from, to);
 
            // определяем список и присваиваем ему адаптер
            notesList = (ListView) findViewById(R.id.notesList);
            notesList.setAdapter(sAdapter);
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
31.07.2014, 08:32 6
Лучший ответ Сообщение было отмечено Twi7ter как решение

Решение

Я изменяю текст в ListView так:
Java
1
2
3
4
5
6
7
8
9
10
11
public class CustomAdapter extends BaseAdapter {
    private List<StringWrapper> data = new ArrayList<StringWrapper>();
    public StringWrapper getItem(int i) {
        return data.get(i);
    }
    public View getView(int i, View view, ViewGroup viewGroup) {  
        view = inflater.inflate(R.layout.row, null);    
        final StringWrapper currentItem = getItem(i);
        TextView.class.cast(view.findViewById(R.id.textView1)).setText(currentItem.getName());
        return view;
}}
Класс StringWrapper:
Java
1
2
3
4
5
6
7
8
9
public class StringWrapper {    
    private String mName;
    public StringWrapper(String mName) {
        this.mName = mName;
    }
    public String getName() {
        return mName;
    }
}
1
31.07.2014, 08:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2014, 08:32

popUp из кастом адаптера
Добрый день возник такой вопрос, у меня есть кастом адаптер и есть картинка......

Вывод информации в Toast c Адаптера
Здравствуйте. В программе реализован класс адаптера &quot;новостей&quot; - NewsAdapter...

XML данные для адаптера
Хотелось бы разобраться со сложными XML-данными. Необходимо забить в XML...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru