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

Всплывающие диалоги и работа с базой данных - Android

Восстановить пароль Регистрация
 
Naomis
5 / 5 / 1
Регистрация: 11.03.2015
Сообщений: 190
Завершенные тесты: 1
30.05.2015, 16:09     Всплывающие диалоги и работа с базой данных #1
Всем доброго дня. Дедлайн ещё ближе, диплом под ещё большей угрозой.

Нужно сделать такую фишку. Есть список, в котором данные и БД, тыкая на элемент списка и удерживая, появляется контекстное меню. В меню два элемента, первый удаляет запись, а с помощью второго её нужно редактировать, он-то как раз и не сделан. Думаю, что самым логичным будет сделать всплывающее окно в котором надо будет изменять данные и сохранять по кнопке. Проблема в тов, что не понимаю как, работаю методом учёного тыка. Уроки гуглил, находил и читал, пытался что-то сделать, но понимаю, что сам не справляюсь. По этому взываю к вашей мудости и помощи по данному вопросу. В заранее огромное спасибо.

структура таблиц, с которыми нужно будет провернуть такую фишку, для заполнения таблицы и вывода на экран в списке есть своя активити
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
 //man
    public static final String DB_TABLE = "man";
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_NAME = "m_name";
 
    private static final String DB_CREATE =
            "create table " + DB_TABLE + "(" +
                    COLUMN_ID + " integer primary key autoincrement, " +
                    COLUMN_NAME + " text" +
                    ");";
 
    //event type
    public static final String EVENT_TYPE_TABLE = "event_type";
    public static final String EVENT_TYPE_COLUMN_ID = "_id";
    public static final String EVENT_TYPE_COLUMN_NAME = "et_name";
 
    private static final String EVENT_TYPE_DB_CREATE =
            "create table " + EVENT_TYPE_TABLE + "(" +
                    EVENT_TYPE_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_TYPE_COLUMN_NAME + " text" +
                    ");";
 
    //meeting
    public static final String MEETING_TABLE = "meeting";
    public static final String MEETING_COLUMN_ID = "_id";
    public static final String MEETING_COLUMN_NAME = "meet_name";
 
    private static final String MEETING_DB_CREATE =
            "create table " + MEETING_TABLE + "(" +
                    MEETING_COLUMN_ID + " integer primary key autoincrement, " +
                    MEETING_COLUMN_NAME + " text" +
                    ");";
 
//event
    public static final String EVENT_TABLE = "event";
    public static final String EVENT_COLUMN_ID = "_id";
    public static final String EVENT_COLUMN_MAN = "ManId";
    public static final String EVENT_COLUMN_MEETING = "MeetingId";
    public static final String EVENT_COLUMN_EVENT_TYPE = "EventTypeId";
    public static final String EVENT_COLUMN_VALUE = "Value";
 
    private static final String EVENT_DB_CREATE =
            "create table " + EVENT_TABLE + "(" +
                    EVENT_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_COLUMN_MAN + " integer, " +
                    EVENT_COLUMN_MEETING + " integer, " +
                    EVENT_COLUMN_EVENT_TYPE + " integer, " +
                    EVENT_COLUMN_VALUE + " integer" +
                    ");";
Код из активити для таблицы "man". в ней есть начальные наработки для всплывающего диалога...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//event
    public static final String EVENT_TABLE = "event";
    public static final String EVENT_COLUMN_ID = "_id";
    public static final String EVENT_COLUMN_MAN = "ManId";
    public static final String EVENT_COLUMN_MEETING = "MeetingId";
    public static final String EVENT_COLUMN_EVENT_TYPE = "EventTypeId";
    public static final String EVENT_COLUMN_VALUE = "Value";
 
    private static final String EVENT_DB_CREATE =
            "create table " + EVENT_TABLE + "(" +
                    EVENT_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_COLUMN_MAN + " integer, " +
                    EVENT_COLUMN_MEETING + " integer, " +
                    EVENT_COLUMN_EVENT_TYPE + " integer, " +
                    EVENT_COLUMN_VALUE + " integer" +
                    ");";
Добавлено через 19 минут
Создал XML файлик

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Измените запись"/>
        <EditText
            android:id="@+id/up_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>
 
</LinearLayout>
Этим добился вывод данных.
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
    public void showDialogUpd() {
 
        final AlertDialog.Builder updialog = new AlertDialog.Builder(this);
 
        updialog.setTitle("Редактирование записи");
 
        View linearlayout = getLayoutInflater().inflate(R.layout.update_n_m_e_tab, null);
        updialog.setView(linearlayout);
 
 
 
        updialog.setPositiveButton("Готово",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
 
 
 
                    }
                })
 
                .setNegativeButton("Отмена",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        });
 
        updialog.create();
        updialog.show();
    }
Осталось главное, заставить диалог обрабатывать данные из бд. А вот с этим и главные проблемы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2015, 16:09     Всплывающие диалоги и работа с базой данных
Посмотрите здесь:

Android Диалоги, нужно уничтожать ?
Можно ли создавать диалоги без xml? Android
Android Конусультация в написании приложения(работа с базой, сложение и сохранение результата)
Android Добавление ссылок и html текста в TextView и диалоги
Работа с базой данных Android
Работа с базой SQLite: чем нужно пользоваться вместо SimpleCursorLoader? Android
Ошибка при работе с базой данных Android
Файловые диалоги в андроиде Android
Android связь с базой данных Android
Работа с готовой SQLite базой на андроид Android
Приложение, использующее сервер с базой данных Android
Android Связь с базой данных sql

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
max-max-max
 Аватар для max-max-max
3 / 3 / 0
Регистрация: 27.03.2010
Сообщений: 57
30.05.2015, 22:32     Всплывающие диалоги и работа с базой данных #2
Можно использовать popup menu или сделать свой диалог.
Yandex
Объявления
30.05.2015, 22:32     Всплывающие диалоги и работа с базой данных
Ответ Создать тему
Опции темы

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