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

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

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

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

04.12.2013, 17:27. Просмотров 314. Ответов 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     После обновления записи в базе данных невозможно добавить новую запись
Посмотрите здесь:

Определение id записи для обновления - Программирование Android
У меня есть таблица с великим множеством ячеек с TextView, при нажатии на одну из ячеек появляется TimePickerDialog, где пользователь...

Как добавить новую строку в конец файла? - Программирование Android
WriteToFile("studentsapp22.txt", rcet.getText().toString()); Данная строка лишь перезаписывает файл, а мне очень нужен список в...

Ошибка соединения с сервером после обновления OC с 4.4 до 5 - Программирование Android
Привет всем андроидоведам!!! Столкнулся вот с такой незадачей: при отладке приложения шлю DELETE запрос на сервер (сервер мой...

После обновления планшета с 4.4 на 5.1 перестало работать приложение - Программирование Android
Что нужно сделать чтобы все заработало?) E/AndroidRuntime: FATAL EXCEPTION: main Process: ru.arion.indication, PID:...

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

Появилось сообщение App not installed после обновления системы до 6.0.1 - Программирование Android
Проблема такая, написал приложение на заказ, на андрюхе 5 все работало, но телефон клиента обновился до 6.0.1 версии андроида и при попытке...

Доступ к базе данных - Программирование Android
Здравствуйте. Имеется три активити (MainActivity (основная), Program (программы подготовки) и Speciality (специальности)), база данных...

Сортировка данных в базе - Программирование Android
А как можно отсортировать данные в базе SqLite?

Подключение к базе данных - Программирование Android
Возник вопрос ,как можно осуществить подключение приложения к базе данных которые располагаются на стороннем сервере?? ? (как брать из их...

Подключение к базе данных из ViewPager - Программирование Android
В приложении есть база данных, везде в приложении она работает хорошо, но есть небольшая проблема с ее использованием в ViewPager. При...


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

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

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