Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Twi7ter
3 / 3 / 1
Регистрация: 27.03.2013
Сообщений: 147
#1

Обращение к каждому элементу Адаптера - Программирование Android

30.07.2014, 18:09. Просмотров 512. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обращение к каждому элементу Адаптера (Программирование Android):

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

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

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

Создание адаптера - Программирование Android
MySimpleArrayAdapter adapter = new MySimpleArrayAdapter( Spisok.this, productsList, ...

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

popUp из кастом адаптера - Программирование Android
Добрый день возник такой вопрос, у меня есть кастом адаптер и есть картинка... public class CustomListViewAdapter extends...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
30.07.2014, 18:22 #2
А где этот метод стоит? А где сеттер?
0
Twi7ter
3 / 3 / 1
Регистрация: 27.03.2013
Сообщений: 147
30.07.2014, 19:13  [ТС] #3
getView это стандартный метод адаптера,сеттер до данного кода установлен,мне просто нужно понять как получить по очереди все элементы в адаптере,так как я привел,не работает
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 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 / 1
Регистрация: 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,071
31.07.2014, 08:32 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я изменяю текст в 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2014, 08:32
Привет! Вот еще темы с ответами:

XML данные для адаптера - Программирование Android
Хотелось бы разобраться со сложными XML-данными. Необходимо забить в XML данные записной книжки. Каждый элемент должен содержать данные: ...

Неадекватное поведение адаптера ListView - Программирование Android
Собственно есть кастом-адаптер. В него приходят два массива с данными. В dates находится даты в формате &quot;29.05.15&quot;. В photos ссылки на...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.07.2014, 08:32
Ответ Создать тему
Опции темы

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