0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
1

Диалоги, нужно уничтожать ?

31.10.2012, 20:29. Показов 1044. Ответов 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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2012, 20:29
Ответы с готовыми решениями:

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

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

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

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

2
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 20:52 2
просто обновляй нужные данные в onPrepareDialog.
0
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2012, 15:18

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

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

Как правильно уничтожать Tframe
Доброго всем времени суток. Прошу помочь. В проекте при нажатии на кнопку динамически создаётся...

Зачем Дьяволу уничтожать наш мир?
Добрый день, коллеги, товарищи, братья по оружию, ну и остальные праздно шатающиеся в поиске...


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

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

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