Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
_bio
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 30
1

Данные из SQlite в ListView, обработка события ListView

20.02.2016, 16:09. Просмотров 516. Ответов 5
Метки нет (Все метки)

Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД.

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
 mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                int num;
                userCursor = sqlHelper.database.rawQuery("select * from " + DatabaseHelper.TABLE + " where " +
                        DatabaseHelper.COLUMN_ID + "=?", new String[]{String.valueOf(id)});
 
                
userCursor.moveToPosition(position); 
num = userCursor.getInt(userCursor.getColumnIndex(DatabaseHelper.COLUMN_YEAR)); // В ЭТИХ СТРОКАХ БЕДА
 
 
                String baseUssd = Uri.encode("*") + "697" + Uri.encode("*") + num + Uri.encode("*") + "1"+ Uri.encode("#") ;
                StringBuilder builder = new StringBuilder();
                builder.append(baseUssd);
 
                Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + builder.toString()));
                if (ActivityCompat.checkSelfPermission(UssdMain1Activity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                    // TODO: Consider calling
                    return;
                }
                startActivity(intent);
 
             
            }
        });
При нажатии на первую строчку ListView запрос вроде бы прошел (на эмуляторе GenyMotion вылезла ошибка Connection problem or invalid MMI code, это кст вопрос №2 - Как проверить работоспособность USSD запросов???)

Но при нажатии на следующие строки вылетает ошибка android.database.CursorIndexOutOfBoundsException: Index 1 requested, with a size of 1.
Вероятно косяк вот в этих строках:
Java
1
2
userCursor.moveToPosition(position); 
num = userCursor.getInt(userCursor.getColumnIndex(DatabaseHelper.COLUMN_YEAR));
Подскажите как по правильному реализовать?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2016, 16:09
Ответы с готовыми решениями:

Listview вывод данных и переход по нажатию на другой Listview SQLite
Доброго извините за название темы, долго не мог сформировать название, В общем...

Как записывать данные из SQLite в ListView
Здравствуйте, задался таким вопросом. Есть SQLite таблица, данные в которой...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton?
Добрый день. Затрудняюсь понять один момент: У меня есть ListView,...

SQLite в ListView
Добрый вечер. Нуждаюсь в помощи. Не могу сделать так, чтоб данные с таблицы...

ListView + SQLite
Привет. Взял код из урока 52 на startandroid, немного его изменил public...

5
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
20.02.2016, 21:49 2
userCursor и так содержит одну запись, удалите userCursor.moveToPosition(position);
1
_bio
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 30
20.02.2016, 22:00  [ТС] 3
Rube, Пробовал без записи, ошибка остается(
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
20.02.2016, 22:14 4
Log нужен, особенно строка где указана строка ошибки. Оттуда и надо плясать.

Добавлено через 1 минуту
А также проверять на кол-во записей userCursor.
0
_bio
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 30
25.02.2016, 14:07  [ТС] 5
Все верно, лог показал, что в userCursor содержались три записи, трех столбцов.
Решение:
Java
1
2
3
if(userCursor.moveToFirst()){
                    num = userCursor.getInt(userCursor.getColumnIndex(DatabaseHelper.COLUMN_YEAR));
                }
0
alexfoz
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 1
25.02.2016, 17:48 6
Thanks очень полезная фишка
0
25.02.2016, 17:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2016, 17:48

ListView и SQLite
Пишу первую простенькую игру.Пожалуйста подскажите как решить такую задачу:...

Идентификация ListView + SQLite
Есть БД sqlite, в ней таблица с полем _id (автоинкримент). ListView заполняю...

Картинка из SQLite в ListView
Здравствуйте.Есть несколько вопросов. 1 Как отобразить картинки в ListView из...


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

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

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