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

Как отобразить данные из БД SQLite в диалоговом окне через контекстное меню? - Android

Восстановить пароль Регистрация
 
Seivan
1 / 1 / 0
Регистрация: 17.12.2013
Сообщений: 97
20.11.2014, 15:40     Как отобразить данные из БД SQLite в диалоговом окне через контекстное меню? #1
Здравствуйте!
Подскажите, пожалуйста, как отобразить данные из БД SQLite в диалоговом окне через контекстное меню для последующего их редактирования...
Код с редактированием работает, но поля пустые... а при заполнении все благополучно заменяется в БД...

Кликните здесь для просмотра всего текста
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, "Удалить запись");
        menu.add(0, CM_ADD_ID, 0, "Редактировать");
    }
 
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        // получаем инфу о пункте списка
        final AdapterView.AdapterContextMenuInfo acmi = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
        switch (item.getItemId()) {
 
            case CM_DELETE_ID:
                    db.delRec(acmi.id);
                    cursor.requery();
                    break;
 
            case CM_ADD_ID:
                       AlertDialog.Builder alert = new AlertDialog.Builder(this);
 
                       alert.setTitle("Редактировать данные");
                     //  alert.setMessage("Message");
 
                       view = (LinearLayout) getLayoutInflater()
                               .inflate(R.layout.dialog, null);
                       alert.setView(view);
 
                       final EditText inputName = (EditText)view.findViewById(R.id.edtName);
                       final EditText inputCod = (EditText)view.findViewById(R.id.edtNumber);
 
                       alert.setPositiveButton("Изменить", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int whichButton) {    
 
                               String valueName = inputName.getText().toString();
                               String valueCod = inputCod.getText().toString();
                               db.updCod(acmi.id, valueName, valueCod);
                               cursor.requery();
                           }
                       });
                       alert.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int whichButton) {                               
                           }
                       });
                       alert.show();
                   break;
            }
       return super.onContextItemSelected(item);
 }


Добавлено через 3 часа 43 минуты
Догнал... )))))
Может кому пригодится...
ДОБАВИЛ 5 строчек в основную активити, т.е., сюда:

Кликните здесь для просмотра всего текста
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
34
35
36
37
38
39
 case CM_ADD_ID:
                       AlertDialog.Builder alert = new AlertDialog.Builder(this);
                       alert.setTitle("Редактировать данные");
                     //  alert.setMessage("Message");
                       view = (LinearLayout) getLayoutInflater()
                               .inflate(R.layout.dialog, null);
                       alert.setView(view);
 
                       final EditText inputName = (EditText)view.findViewById(R.id.edtName);
                       final EditText inputCod = (EditText)view.findViewById(R.id.edtNumber);
 
 
 // ДОБАВИЛ 5 нижних строчек в основную активити, т.е., сюда:
 
                       db.select(acmi.id);                         
                       String nameO = cursor.getString(1);
                       String codO = cursor.getString(2);
                       inputName.setText(nameO);
                       inputCod.setText(codO);
 
                       alert.setPositiveButton("Изменить", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int whichButton) {
 
                               String valueName = inputName.getText().toString();
                               String valueCod = inputCod.getText().toString();
                               db.updCod(acmi.id, valueName, valueCod);
                               cursor.requery();
                           }
                       });
                       alert.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int whichButton) {
                               dialog.cancel();
                           }
                       });
                       alert.show();
                   break;
            }
       return super.onContextItemSelected(item);
 }


И кусочек кода в класс БД



Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
    }
 
public Cursor select(long id) {
 
      return mDB.query(true, DB_TABLE, new String[] { COLUMN_ID, COLUMN_TXT, COLUMN_COD },
              COLUMN_ID + "=?", new String[] { String.valueOf(id) }, null, null, null, null);
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2014, 15:40     Как отобразить данные из БД SQLite в диалоговом окне через контекстное меню?
Посмотрите здесь:

Как отобразить запись из базы sqlite Android
Android Контекстное меню вместо опционального
Android ListView и контекстное меню
Android контекстное меню на ExpandableListView
Как поменять цвет Background в диалоговом окне? Android
Android При долгом нажатии вывести контекстное меню
Android Контекстное меню в ListView
Android Как отобразить в диалог окне информацию с БД о записи, на которую кликнул в ListView?
Программа падает при попытке задать текст TextView в диалоговом окне Android
Android Карта в диалоговом окне
Android Как записывать данные из SQLite в ListView
Android Контекстное меню не работает

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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