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

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

Войти
Регистрация
Восстановить пароль
 
bakhman
2 / 2 / 0
Регистрация: 03.11.2014
Сообщений: 21
#1

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

13.11.2014, 01:20. Просмотров 510. Ответов 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):

Как отобразить файловую систему в ListView - Программирование Android
Здравствуйте! Делаю приложение под android и мне нужно показать файловую систему с возможностью перехода по папкам (нажимая на них). Потом...

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

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

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

Как получить название столбца dbgrid, на которую кликнул пользователь - C++ Builder
Привет всем! Как получить название столбца dbgrid, на которую кликнул пользователь. Так понимаю обрабатываем событие ОnTitleClick. Название...

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

6
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,072
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,072
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,072
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
Привет! Вот еще темы с ответами:

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

JavaFX. Как правильно отобразить диалог авторизации и вернуть управление в главное окно? - JavaFX
Здравствуйте. Уже почти неделю не могу решить казалось бы тривиальную задачу. В сети существует игра и я хочу сделать интерфейс для...

Как через код отобразить картинку в ToolTip которая загружена в image на которую наведен курсор? - C# WPF
У меня есть динамически созданные Image со стандартным изображением. В них я загружаю картинку. Мне нужно что бы при наведении на...

Как отобразить в окне Memo принятые данные по Com - C++ Builder
Небольшой проект содержит Com прием с последующей передачей. На приеме может приходить от 844 до 4800 байт. на передаче только 128 байт....


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

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

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