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

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

Войти
Регистрация
Восстановить пароль
 
Tkas
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 42
#1

После обновления записи в базе данных невозможно добавить новую запись - Android

04.12.2013, 17:27. Просмотров 313. Ответов 0
Метки нет (Все метки)

Здравствуйте. У меня есть список, который формируется из базы данных. Добавление новых записей выполняется до тех пор, пока я не вызову контекстное меню для какой-то определенной записи и в этом меню не выберу редактировать эту запись. Редактирование (обновление) проходит удачно, но после этого при нажатии на текстовое поле и ввода новых данных для новой записи в бд снова происходит обновление этой же самой записи! И таким образом добавить новую запись никак не получается, происходит только апдейт.
Вот этот код записан непосредственно в методе onCreate
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
edText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_DONE && !edText.getText().toString().equals("")) {
                    if (getCurrentFocus() != null) {
                        imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                        imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
                       
                        ContentValues cv = new ContentValues();
                          cv.put(ItemsDB.ITEM_NAME, edText.getText().toString());
                        db.insert(ItemsDB.ITEM_TABLE, null, cv); 
                        
                        edText.setText("");
                    getLoaderManager().getLoader(0).forceLoad();
                    }
                }
                return false;
            }
        });


А это код обновления записи он уже прописан в методе onContextItemSelected, то есть уже при вызове меню
Кликните здесь для просмотра всего текста
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
 public boolean onContextItemSelected(MenuItem item) {
        
        switch(item.getItemId()) {
        case 0:
            break;
        case 1:
            // получаем из пункта контекстного меню данные по пункту списка
            acmi = (AdapterContextMenuInfo) item.getMenuInfo();
            imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(edText, 0);
            
            edText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
                public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_DONE && !edText.getText().toString().equals("")) {
                        if (getCurrentFocus() != null) {
                            imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
                            
                            ContentValues cv = new ContentValues();
                            cv.put(ItemsDB.ITEM_NAME, edText.getText().toString());
                            db.update(ItemsDB.ITEM_TABLE, cv, ItemsDB.ID + "=?", new String[] { String.valueOf(acmi.id) });                         
                            
                            edText.setText("");
                            getLoaderManager().getLoader(0).forceLoad();
                        }
                    }
                    return false;
                }
            });
        }       
        return super.onContextItemSelected(item);   
    }

В чем может быть проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 17:27     После обновления записи в базе данных невозможно добавить новую запись
Посмотрите здесь:

Android Проблемы после обновления SDK
Eclipse чудит после обновления Android
Определение id записи для обновления Android
Android Как добавить новую строку в конец файла?
Android Невозможно повесить на TextView текстовый расурс после загрузки приложения
Android После обновления студий неправильно создается проект
Android Программа вылетает после обновления на 5.0
Android Ошибка соединения с сервером после обновления OC с 4.4 до 5
Android После обновления HAXM не запускаются эмуляторы
Появилось сообщение App not installed после обновления системы до 6.0.1 Android
Подключение к базе данных Android
Android Как обновить textview в фрагменте после обновления preference

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

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

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