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

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

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

Диалоги, нужно уничтожать ? - Программирование Android

31.10.2012, 20:29. Просмотров 770. Ответов 2
Метки нет (Все метки)

Намудрил с диалогами нужна помощь:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
@Override
    protected Dialog onCreateDialog(int id) 
    {
        switch (id) 
        {   
            case 0:
                AlertDialog.Builder builder_0 = new AlertDialog.Builder(this);
                final String[] mSelectList_0 = { "11", 
                        "22", "33", "44"};
                builder_0 = new AlertDialog.Builder(this);
                builder_0.setTitle("Выберите:")
                .setCancelable(false)
                
                // добавляем одну кнопку для закрытия диалога
                .setNeutralButton("Назад",new DialogInterface.OnClickListener() 
                    {
                        public void onClick(DialogInterface dialog, int id) 
                        {
                            dialog.cancel();
                        }
                    })
 
                    .setSingleChoiceItems(mSelectList_0, Resolution , new  DialogInterface.OnClickListener() 
                    {
                        public void onClick(DialogInterface dialog,int item) 
                        {
                            Resolution = Integer.valueOf(item).intValue();
                        }
                    });
            
            return builder_0.create();
 
        case 1:
            AlertDialog.Builder builder_1 = new AlertDialog.Builder(this);
            final String[] mSelectList_1 = { "ппп", "ррр", "аааа", "ееее","ннннн","иииии"};
            builder_1 = new AlertDialog.Builder(this);
            builder_1.setTitle("Выберите:")
            .setCancelable(false)
            .setNeutralButton("Назад",new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog, int id) 
                {
                    dialog.cancel();
                }
            })
 
            .setSingleChoiceItems(mSelectList_1, DrivingModeAccelerator ,new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog,int item)
                {
                    DrivingModeAccelerator = Integer.valueOf(item).intValue();                  
                }
            });
                    
            return builder_1.create();
 
        case 2:
            AlertDialog.Builder builder_2 = new AlertDialog.Builder(this);
            final String[] mSelectList_2 = { "Один", "Два" };
            builder_2 = new AlertDialog.Builder(this);
            builder_2.setTitle("Выберите")
            .setCancelable(false)
            .setNeutralButton("Назад",new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog, int id) 
                {
                    dialog.cancel();
                }
            })
 
            .setSingleChoiceItems(mSelectList_2, AutoParking ,new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog,int item)
                {
                    AutoParking = Integer.valueOf(item).intValue();
                    
                }
            });
                    
            return builder_2.create();
}
        return null;
        
    }
Через переменные
Resolution
DrivingModeAccelerator
AutoParking
Передаю значение в каком положении при открытии диалога должен стоять radiobutton.
При первом запуске, при создании диалога значения читаются и radiobutton встает в нужное положение
При последующих открытиях диалога и смене значений переменных, позиция radiobutton не меняется.
Я так понимаю, что диалоговое окно не уничтожается, а открывает уже ранее созданную версию)

Как сделать, что при обращении диалог читал данные из переменных, ну либо наверное заново создать?
И верен ли приведенный код?
Спасибо.

Добавлено через 5 часов 11 минут
Java
1
2
3
protected void onPrepareDialog(int id, Dialog dialog) {
      super.onPrepareDialog(id, dialog);
    }
Верно?

Добавлено через 16 минут
Это что получается, что onPrepareDialog фактически дубляж onCreateDialog?
Только onPrepareDialog обновляет данные, а onCreateDialog создает диалог.

В то время как метод onCreateDialog () может быть вызван лишь единожды для инициализации диалогового окна при его создании, метод onPrepareDialog () вызы*вается каждый раз при вызове метода showDialoq(), предоставляя деятельности воз*можность выполнить повторную инициализацию диалогового окна всякий раз, когда это окно показывается пользователю.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 20:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Диалоги, нужно уничтожать ? (Программирование Android):

Файловые диалоги в андроиде - Программирование Android
Открыть/сохранить файл, выбрать каталог и т.д. Насколько я понял готовых как в windows нету. Может есть какие то сторонние либы ???

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

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

Добавление ссылок и html текста в TextView и диалоги - Программирование Android
Привет всем! Какими методами Вы пользуетесь для добавления ссылок и html-текста в TextView и диалоги типа AlertDialog?

Нужно ли явно уничтожать ADODataSet, ADOCommand и т.д.? - Delphi БД
Добрый день! Я вот мучаюсь вопросом, нужно ли явно закрывать компоненты ADODataSet, ADOCommand и т.д. и освобождать память (например, в...

Нужно ли уничтожать экземпляр класса Vector? - C++
Здравствуйте. В своей программе в функции использую класс vector (и даже vector <vector < >> =) ). Программа работает через раз,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 20:52 #2
просто обновляй нужные данные в onPrepareDialog.
0
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
01.11.2012, 15:18  [ТС] #3
Java
1
2
3
4
5
6
7
8
9
protected void onPrepareDialog(int id, Dialog dialog) {
      super.onPrepareDialog(id, dialog);
    }
switch (id) 
        {   
            case 0:
//Здесь нужно, чтобы при открытии диалога обновились данные позиция RadioButton
//для каждого диалога позиция задается своей переменной
//для диалога 0, переменная Resolution
Тут, что просто нужно вызвать эту переменную?

Добавлено через 18 часов 15 минут
Помог мне removeDialog(id)
Может не "красиво" но работает.
С onPrepareDialog не разобрался.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 15:18
Привет! Вот еще темы с ответами:

Нужно ли уничтожать объекты после их использования? - PHP
Всегда считал, что после выполнения php скрипта, все его объекты (переменные, массивы и т.д.) уничтожаются и память освобождается. ...

DataReport. Нужно ли уничтожать его после использования? - Visual Basic
Может ламерски прозвучит, но надо ли после использования репорта его уничтожать явно?? то есть прописывать где нибудь Set...

Нужно ли уничтожать список Tstringlist отдельно с помощью StrList.Free? - Delphi
Всем привет. Есть следующие вопросы. 1) если в программе создавfлся список Tstringlist, то при закрытии программы создавающей этот...

Зачем уничтожать iPhone - iPhone
Голливудская киностудия вместе с компанией Mail.ru Group создали фильм, который скоро выйдет на экраны. Результатом их совместного труда,...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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