С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Alex_Fedor
32 / 32 / 5
Регистрация: 20.01.2015
Сообщений: 230
#1

SmoothScrollToPosition не прокручивается список на позицию - Программирование Android

03.08.2016, 16:15. Просмотров 270. Ответов 2
Метки нет (Все метки)

Странно но почему то не прокручивается список на указанную позиции. Вроде бы все просто до элементарности, но код не работает.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private void onShowListDB() {// выводим имена всех таблиц из БД в список
        // TODO Auto-generated method stub
        arrTblNames.clear();//очищаем  масиив
        Cursor c = db.rawQuery("SELECT name FROM sqlite_sequence", null);//достаем имена всех таблиц из БД
        int count=0;// счетчик позиции на которую надо сделать скролинг lvSelectTableName
        String nameSimple;// просто переменная для упрощения кода
        boolean match=true;// флаг совпадения имен
                if (c.moveToFirst()) {//ставим курсор на первую позицию
                    while ( !c.isAfterLast() ) {//заполняем список, вычисляем позицию на которую надо прокрутить список
                        nameSimple=c.getString( c.getColumnIndex("name")) ;
                        arrTblNames.add( nameSimple );
                        if (!nameSimple.equals(useTableName)  && match){
                            count++;
                        }
                        if (nameSimple.equals(useTableName) && match){
                            match=false;
                        }
                        c.moveToNext();
                    }
                 // настраиваем стандартный адаптер  
                    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arrTblNames);
                    lvSelectTableName.setAdapter(adapter);
                    Log.d(MY_LOG, " List on Position = "+ count+"  Use Table Name = "+ useTableName);
                    lvSelectTableName.smoothScrollToPosition(count);//строчка кода не работает
                    return;
                }
                Log.d(MY_LOG, "Какие то проблемы со считыванием таблиц из БД");
                intent.putExtra("nameWantBase", useTableName);
                setResult(RESULT_CANCELED, intent);
                finish();      
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2016, 16:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SmoothScrollToPosition не прокручивается список на позицию (Программирование Android):

Вставка в список в заданную позицию - Lisp
Была задача: 1. Реализовать функцию (insert-at k l v), которая вставляет в список l элемент v в позицию k. Есть работающая программа на...

Вставить заданный элемент в список на N-ую позицию - Prolog
Задан список вещественных чисел. 1) Вставить заданный элемент в список на N-ую позицию. 2) Определить максимальный элемент...

Написать программу вставки элемента X в список L, в позицию Р - Turbo Pascal
Доброй ночки форумчане..помогите пожалуйста: Написать программу вставки элемента X в список L, в позицию Р.

Вставка элемента на заданную позицию в список, TurboProlog - Prolog
Здравствуйте, помогите пожалуйста,нужно вставить элемент на заданную позицию в список, вот мой код: domains list=integer* predicates ...

Рекурсия и списки: вставка заданного элемента в список на N-ую позицию - Prolog
Написать программу вставки заданного элемента в список на N-ую позицию

Вставка в список в заданную позицию заданное число раз - Prolog
А не могли бы вы,если не сложно, посмотреть еще одну программку, которую я пытасюсь написать ? Задача: вставить в список константу X,...

2
Alex_Fedor
32 / 32 / 5
Регистрация: 20.01.2015
Сообщений: 230
04.08.2016, 16:33  [ТС] #2
сам себе отвечу может кому пригодится. Надо установить выбранный текущий элемент.
Java
1
2
lvSelectTableName.setSelection(count);
lvSelectTableName.smoothScrollToPosition(count);//теперь код работает
0
klim76
20 / 14 / 2
Регистрация: 10.06.2016
Сообщений: 142
04.08.2016, 19:41 #3
А еще код будет работать если выполнять его с задержкой скажем в полсекунды. далеко не копал но видимо адаптер еще не готов к тому моменту когда вы запрашиваете прокрутку
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2016, 19:41
Привет! Вот еще темы с ответами:

АТД список. Перемещение заданного элемента на первую позицию - C++
Здравствуйте!! Подскажите пожалуйста как переместить элемент списка на первую позицию? Например: есть список o o t o t,...

Функция добавления элемента в односвязный список в указанную позицию - C++
Здравствуйте! Помогите пожалуйста написать функцию добавления элемента в односвязный список в указанную позицию.Не могу сообразить как...

Добавить число x в неубывающий список на самую последнюю позицию из возможных - Lisp
Предложите более изящное решение, совместимое с muLisp. Вопрос: если внутреннюю функцию ADD_IN_LST назвать также, как и внешнюю...

Предикат: добавление заданного элемента в заданный список на последнюю позицию - Prolog
Помогите с прологом пожалуйста!!!Предикат ,который добавляет заданный элемент в заданный список на последнюю позицию.


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

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

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