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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Android Edittext Search http://www.cyberforum.ru/android-dev/thread1028099.html
добро пожаловать. Настоящее время есть функция поиска, которая ищет данными в XML файле в соответствии с Tittle-х годов. Tittle каждого компонента на грузинском языке), и поиск работает, когда...
Программирование Android Как закрыть приложение из view activity? Есть простой класс который расширяется от View в котором нужно завершить другое активити, этот View класс добавлен в основной класс с помощью xml файла. Пробую завершить активити с помощью... http://www.cyberforum.ru/android-dev/thread1028044.html
Программирование Android Различный вывод на виртуальной машине в eclipse и при запуске файла, с расширением apk
Здравствуйте, помогите, пожалуйста, разобраться с проблемой вывода приложения. Когда запускаешь проект в eclipse на виртуальной машине, выводится правильный экран приложения(изображение OnAVD.jpg)....
Не работает notifyDataSetChanged() Программирование Android
Доброе Утро тем кто проснулся и тем кто уже подтягивается постучать по пластмассовому другу. Вот код: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,...
Программирование Android как загрузить hex файл? http://www.cyberforum.ru/android-dev/thread1027759.html
Подскажите, пожалуйста, как в андроиде загрузить hex файл? Гуглил много примеров загрузки тхт файлов.
Программирование Android Выравнивание TextView Приветствую! Не могу разобраться, как правильно сделать выравнивание: xml вьюшки: <?xml version="1.0" encoding="utf-8"?> <TableLayout... подробнее

Показать сообщение отдельно
Tkas
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 42

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

04.12.2013, 17:27. Просмотров 322. Ответов 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);   
    }

В чем может быть проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.