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

Отслеживание закрытия диалога - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Создание кастомного View "Матрица" http://www.cyberforum.ru/android-dev/thread1016500.html
Здравствуйте! Взялся за написание компонента, который отображает матрицу произвольного размера. public class MatrixView extends View { private int rows, columns; //Число строк, столбцов матрицы private EditText matrix; //Двумерный массив, содержащий поля ввода Идея была такая: пользователь вводит размерность матрицы, жмет "Ввести матрицу", после чего отображается компонент...
Программирование Android Полное закрытие приложения. Метод? Здравствуйте, подскажите какой метод вызывается когда я смахиваю приложение в запущенных задачах? Нужно сделать сохранение настроек при полном закрытии приложения. Так и не нашёл какой метод за это отвечает. Эти методы мне не подходят: @Override public void onResume() { http://www.cyberforum.ru/android-dev/thread1016410.html
Программирование Android XML фирменной карточки от гугл
Всем привет! Ребят, помогите нарисовать такую плиточку :( Но как сделать скошенные углы + тень внизу? (если кликнуть на картинку и присмотреться, то видно :)) Если у кого-то есть готовый XML код, поделитесь пожалуйста, спасибо :)
Программирование Android GPS - Изменение местоположения
Здравствуйте ув. Программисты. Как можно реализовать следующее: -Есть программа при запуске определяет местоположение и отправляет данные на сервер + активность(Онлайн или Оффлайн). При старте онлайн при выходе оффлайн. -Далее хотел сделать на закрытие программы, отправку данных на сервер, что девайс оффлайн. Но почитал и понял что закрывать приложение полностью т.е. не вызов кнопки...
Программирование Android Обработка касаний в SurfaceView http://www.cyberforum.ru/android-dev/thread1016139.html
Всем привет! Для обработки касаний в surfaceview определяю OnTouchEvent () но касания не обрабатываются. Контролирую через Log.d(). В чем может быть проблема?
Программирование Android Получить данные GPS Доброе утро ув. Программисты! Вопрос: Как получить данные GPS ? Действия: Делаю так: LocationManager locationManager; String context = Context.LOCATION_SERVICE; locationManager = (LocationManager)getSystemService(context); String provider = LocationManager.GPS_PROVIDER; подробнее

Показать сообщение отдельно
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 596

Отслеживание закрытия диалога - Программирование Android

23.11.2013, 19:21. Просмотров 689. Ответов 4
Метки (Все метки)

Здравствуйте!
Имеется вот такой класс:
Кликните здесь для просмотра всего текста
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.contedevel.timetable;
 
import java.util.ArrayList;
import java.util.List;
 
import com.contedevel.timetable.db.DatabaseHandler;
import com.contedevel.timetable.db.TimetableItem;
import com.contedevel.timetable.helpers.SettingsHelper;
import com.contedevel.timetable.helpers.SimplePagerAdapter;
import com.contedevel.timetable.helpers.WeekAdapter;
import com.contedevel.timetable.helpers.WeekHelper;
 
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
 
public class WeekTimetableCreator {
    
    private Context context;
    private int week;
    private List<View> pages;
    private DatabaseHandler db;
    private List<TimetableItem> items;//Array with lessons
    private String[] days;
    private ListView lvTabContent; 
    private TextView tvEmpty;
    private ViewPager vp;
    private SettingsHelper sh;
    private WeekHelper wh;
    
    private int tab_content;
    
    public WeekTimetableCreator(Context context, int week) {
        this.context = context;
        this.week = week;
        //Get settings
        sh = new SettingsHelper(context);
        //Initialization of helper
        wh = new WeekHelper(context);
        //Set theme
        if(sh.getTheme().equalsIgnoreCase("dark")) {
            tab_content = R.layout.d_tab_content;
        }
        else {
            tab_content = R.layout.tab_content;
        }
        //Start builder
        builder();
    }
    
    public View getView() {
        return vp;
    }
    
    public Context getContext() {
        return context;
    }
 
    private void builder() {
        // TODO Auto-generated method stub
        //Initialization of LayoutInflater
        LayoutInflater inflater = LayoutInflater.from(context);
        //Array and View for ViewPager
        pages = new ArrayList<View>();
        View view;
        //Get db
        db  = new DatabaseHandler(context);
        //Get days
        days = sh.getDays();
        //Creator
        for(int i = 0; i < days.length; i++) {
            //Log.e("WeekCreator", days[i]);
            
            view = inflater.inflate(tab_content, null);
            //Set title
            TextView tvTitle = (TextView) view.findViewById(R.id.tvTitleDay);
            tvTitle.setText(days[i].substring(3));
            //Initialization of components
            lvTabContent = (ListView) view.findViewById(R.id.lvTabContent);
            tvEmpty = (TextView) view.findViewById(R.id.tvTEmpty);
            view = creator(view, db, i);
            //Add view in array
            pages.add(view);
        }
        //Add pages into ViewPager
        SimplePagerAdapter spAdapter = new SimplePagerAdapter(pages);
        vp = new ViewPager(context);
        vp.setAdapter(spAdapter);
        vp.setCurrentItem(0);
    }
    //Creator's body
    private View creator(View view, DatabaseHandler db, int i) {
        //Get items
        items = db.findItemsByDayAndWeek(wh.getNumber(days[i].substring(3)), week);
        if(items.size() == 0) {
            lvTabContent.setVisibility(ListView.GONE);
        }
        else {
            tvEmpty.setVisibility(TextView.GONE);
            //Adapter for tab content
            WeekAdapter wAdapter = new WeekAdapter(context, items);
            lvTabContent.setAdapter(wAdapter);
            //Option menu on ListView click
            lvTabContent.setOnItemClickListener(new OnItemClickListener() {
 
                @Override
                public void onItemClick(AdapterView<?> aView, View view,
                        int position, final long id) {
                    // TODO Auto-generated method stub
                    AlertDialog.Builder option = new AlertDialog.Builder(context);
                    option.setTitle(R.string.title_dialog_option);
                    option.setItems(R.array.dialog_option_content, 
                            new DialogInterface.OnClickListener() {
                                
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    // TODO Auto-generated method stub
                                    //Selector for option menu
                                    switch(which) {
                                    case 0:
                                        HometaskDialog hDialog = new HometaskDialog(context, (int)id);
                                        hDialog.show();
                                        break;
                                    case 1:
                                        ShowDialog sDialog = new ShowDialog(context, (int)id);
                                        sDialog.show();
                                        break;
                                    case 2:
                                        EditDialog eDialog = new EditDialog(context, (int)id);
                                        eDialog.show();
                                        break;
                                    case 3:
                                        RemoveDialog rDialog = new RemoveDialog(context, (int)id);
                                        rDialog.show();
                                        break;
                                    }
                                }
                            });
                    option.show();
                }
            });
        }
        return view;
    }
 
}


Программу начинал писать в качестве учебной и построение интерфейса происходит не самым разумным способом, но переделывать этот набор классов тоже очень не хочется... Проблема, в том что я не знаю, как отследить в этом классе закрытие диалогов, чтобы обновить ListView и WeekAdapter.
Кто знает, очень прошу, помощь! Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru