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

Как отобразить в диалог окне информацию с БД о записи, на которую кликнул в ListView?

13.11.2014, 01:20. Просмотров 526. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста!

Имею Листвью в который выводятся записи из БД через адаптер.

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

Как вывести эту инфу?

Как я понимаю нужно как-то понять/получить id записи на которую кликнул, чтобы знать откуда брать из базы инфу для вывода в диалог.

Большое спасибо!

кусок кода выполняющий это выглядит вот так (соответственно мне нужно вместо adb.setMEssage - вставить код , который будет выдавать инфу соотвествующую из базы данных) :
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
32
33
ArrayList<HashMap<String, String>> userList = controller.getAllUsers();
        // If users exists in SQLite DB
        if (userList.size() != 0) {
            System.out.println(userList);
            // Set the User Array list in ListView
            ListAdapter adapter = new SimpleAdapter(MainActivity.this, userList, R.layout.test1, new String[] {
                    "userId", "userName" }, new int[] {  R.id.userName, R.id.userName });
            ListView myList = (ListView) findViewById(android.R.id.list);
            myList.setAdapter(adapter);
            myList.setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
 
 
                    onCreateDialog(DIALOG_DETAIL).show();
                }
 
                public Dialog onCreateDialog(int id) {
 
                        AlertDialog.Builder adb = new AlertDialog.Builder(MainActivity.this);
                        // заголовок
                        adb.setTitle("Подробная информация");
                        // сообщение
 
                    adb.setMessage("Need a text from adapter");
 
 
                    // кнопка положительного ответа
                        adb.setPositiveButton("Назад", myClickListener);
                        // кнопка отрицательного ответа
 
                        // создаем диалог
                        return adb.create();

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2014, 01:20
Ответы с готовыми решениями:

Как отобразить файловую систему в ListView
Здравствуйте! Делаю приложение под android и мне нужно показать файловую...

Как отобразить информацию (введенную в форму), в новом окне и во всплывающем окне?
Подскажите пожалуйста, у меня есть форма в нее делаю запись, как сделать так,...

Как в окне отобразить информацию с HTML документа
Моя задача в среде Eclipse, средствами Swing, AWT, Jframe или чего то подобного...

Отобразить в ListView подробную информацию об объекте, выбранном в другом ListView
Имеется класс Диск и класс Трек. Класс Диск содержит лист треков. На форме...

Как получить название столбца dbgrid, на которую кликнул пользователь
Привет всем! Как получить название столбца dbgrid, на которую кликнул...

6
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
13.11.2014, 08:14 #2
У меня SimpleCursorAdapter, данные получаю так, переделайте под себя.
Java
1
2
Cursor cursor = (Cursor) parent.getItemAtPosition(position);
Log.d("", cursor.getString(1));
0
bakhman
2 / 2 / 0
Регистрация: 03.11.2014
Сообщений: 21
13.11.2014, 08:58  [ТС] #3
Rube, спасибо!

Только уточнить хотел - я хочу выводить не то, что отображается в списке повторно в отдельном диалоге, а дополнительные поля из БД относящиеся к этой записи.
Т.е. на моем примере: я вывожу в список только "Имя" пользователя, а когда юзер кликает на этот пункт, то система должна вывести диалог , в котором будет указано не только Имя , но и Адрес, телефон и тд (определенные поля из БД).
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
13.11.2014, 09:02 #4
Цитата Сообщение от bakhman Посмотреть сообщение
я хочу выводить не то, что отображается в списке повторно в отдельном диалоге, а дополнительные поля из БД относящиеся к этой записи
Делаем запрос в БД по имени пользователя, или по _id.
0
bakhman
2 / 2 / 0
Регистрация: 03.11.2014
Сообщений: 21
13.11.2014, 09:32  [ТС] #5
Rube, огромное спасибо!

А не подскажете еще : почему у меня пункты кликаются когда я использую для адаптера обычный XML с relativelayout/textview структурой , а когда подключаю gridlayout/textview , то листвью становится не кликабельным(((( хотя возможно это зависит еще от того, что я меняю бэкграунд на белый в основном листвью и в тех которые выводят данные. Как-то странно работает этот листвью - чуть какую характеристику поменяешь (кроме текстовки) и сразу перестает кликаться видимо((
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
13.11.2014, 11:11 #6
Да, было такое, уже точно не помню, но вроде надо параметры лаяутов смотреть или итема листвьюшного.
0
bakhman
2 / 2 / 0
Регистрация: 03.11.2014
Сообщений: 21
14.11.2014, 08:50  [ТС] #7
после помощи выше разобрался с первым вопросом - под Курсор не пришлось переделывать даже .

//переменную просто завел на getItem в формате хэшмапа
Java
1
Hashmap s = (Hashmap) parent.getitematposition(position);
//а потом ее вывел в диалог
Java
1
adb.setMessage("", + s.get("userId");
0
14.11.2014, 08:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2014, 08:50

Как узнать, что в другом окне кликнул юзер?
У меня вопрос: есть ли способ узнать что юзер кликнул ссылку в другом окне...

StringGrid: выделение всей строки, на которую кликнул пользователь
Можно ли сделать так, чтоб в стринггриде выделялся сразу ряд, на который...

Загрузка текста в ListView: как убрать диалог выбора файла
Есть код: OpenFileDialog1.Filter = &quot;Text files (*.txt)|*.txt&quot;...


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

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

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