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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

Как закрыть диалог - Программирование Android

04.06.2013, 02:57. Просмотров 2253. Ответов 25
Метки нет (Все метки)

Я запускаю метод, чтобы залогиниться через FB. Всё происходит с помощью фрагмента, после авторизации окно остается фрагмента остается. А как его убрать? Вот код:

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
public void loginFacebook() {
        if (!facebook.isSessionValid()) {
            facebook.authorize(getActivity(),
                    new String[] { "email", "publish_stream" },
                     new DialogListener() {
                        @Override
                        public void onCancel() {
                            // функция отмены действия
                        }
 
                        @Override
                        public void onComplete(Bundle values) {
                                                        
                            accountPrefs.access_token = facebook
                                    .getAccessToken();
                        
                            Log.d(LOG_TAG, "accountPrefs.access_token my "+ accountFPrefs.access_token);
                                                                }
 
                        @Override
                        public void onError(DialogError error) {
 
                            // функция ошибки
                        }
 
                        @Override
                        public void onFacebookError(FacebookError fberror) {
 
                            // функция фейсбучной ошибки
                        }
                    });
        }
                    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 02:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как закрыть диалог (Программирование Android):

Закрыть диалог во время выполнения процесса (принудительное срабатывание dismiss() - Программирование Android
Всем привет! В приложении есть диалоговое окно с кнопкой, по нажатию которой начинается выполнение процесса. Длительность процесса -...

Как обработать диалог? - Программирование Android
как сделать так чтобы после открытия диалога он не пропадал по нажатию пальцем в зоне активити которое находится в состоянии onPause после...

Диалог как в analog clock - Программирование Android
Подскажите пожалуйста, как создать свой диалог? нужно в приложении получать пару значений как в analog clock когда вводишь время...

Как повесить прогресс диалог секунд на 10? - Программирование Android
Здрвствуйте!Нашел код для парсинга данных с сайта через jsoup. Так вот...иногда данные загружаются долго (зависит от скорости...

Как передавать динамические данные (координаты GPS) из активити в диалог? - Программирование Android
Здравствуйте Уважаемые! :senor: подскажите пожалуйста, есть класс активити в котором описана работа с GPS, и мне нужно вызывать диалог...

Как заставить Activity оставаться открытой, пока в ней отображается диалог? - Программирование Android
Есть приложение с сервисом и множеством активити. Сервис периодически рассылает интенты активити соответственно их принимают ресиверами и...

25
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.06.2013, 04:38  [ТС] #2
дополняю скрином. на правом экране изображен этот фрагмент который я хотел бы закрыть, но он остается висеть.
0
Миниатюры
Как закрыть диалог  
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.06.2013, 18:57  [ТС] #3
Вот только не понятно это фрагмент или это диалог. DialogListener - это что?
0
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
06.06.2013, 01:05 #4
показывай весь код показа фрагмента авторизации в ФБ
1
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
06.06.2013, 03:07  [ТС] #5
Вот код:

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
public class Fragment3 extends ListFragment {
 
        public Facebook facebook;
    public AsyncFacebookRunner mAsyncRunner;
 
 
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        View myView = inflater.inflate(R.layout.fragment_screen3,
                container, false);
        
        list = (ListView) myView.findViewById(android.R.id.list);
 
        mViewPager = ((MyActivity) getActivity()).getpager();
 
        //
        butF = (Button) myView.findViewById(R.id.buttonF);
                
        butF.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
 
                // facebook
                fPrefs.restore(getActivity());
                String access_token = fPrefs.access_token;
                long expires = fPrefs.expires;
                if (access_token != null & expires != 0) {
                    resulMy = getCountLooked(myIdGot);
                
                    postMessageOnWall(resulMy, text); 
                }
 
                else{
                        initFB();
                        loginToFacebook();
                }
                
    
            }
        });
          return myView;
    }
 
/** Функция логина в фейсбук */
    public void loginToFacebook() {
 
        if (!facebook.isSessionValid()) {
            facebook.authorize(getActivity(),
                    new String[] { "email", "publish_stream" },
                    new Facebook.DialogListener() {
 
                        @Override
                        public void onCancel() {
 
                            // функция отмены действия
                        }
 
                        @Override
                        public void onComplete(Bundle values) {
                            
                            fPrefs.access_token = facebook
                                    .getAccessToken();
                            fPrefs.expires = facebook.getAccessExpires();
                            fPrefs.save(getActivity());
                                                                        
                            postMessageOnWall(getCountLooked(myIdGot), text);
                        }
 
                        @Override
                        public void onError(DialogError error) {
 
                            // функция ошибки
                        }
 
                        @Override
                        public void onFacebookError(FacebookError fberror) {
 
                            // функция фейсбучной ошибки
                        }
 
                    });
        }
        
        
    }
    
    public void initFB(){
        // инициализируем наши объекты
        facebook = new Facebook(APP_ID);
        mAsyncRunner = new AsyncFacebookRunner(facebook);
        
        loginToFacebook();
}
работа идет с Facebook sdk. Facebook Android sdk
0
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
06.06.2013, 20:39 #6
this.dismiss() ?
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
06.06.2013, 23:49  [ТС] #7
Цитата Сообщение от haribo Посмотреть сообщение
this.dismiss() ?
но наверное тогда уже getActivity().dismiss ? это же в фрагменте всё происходит . И если это, то куда поместить, чтобы правильно сработало??
0
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
07.06.2013, 00:10 #8
именно this, потому сделать это надо непосредственно в диалоге.
поместить нужно туда где нужно закрыть диалог.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
07.06.2013, 00:46  [ТС] #9
Цитата Сообщение от haribo Посмотреть сообщение
именно this, потому сделать это надо непосредственно в диалоге.
поместить нужно туда где нужно закрыть диалог.
А где этот сам диалог исходя из моего кода??? мои попытки найти его были неудачны.
0
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
07.06.2013, 01:53 #10
не он случаем?

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
facebook.authorize(getActivity(),
                    new String[] { "email", "publish_stream" },
                    new Facebook.DialogListener() {
 
                        @Override
                        public void onCancel() {
 
                            // функция отмены действия
                        }
 
                        @Override
                        public void onComplete(Bundle values) {
                            
                            fPrefs.access_token = facebook
                                    .getAccessToken();
                            fPrefs.expires = facebook.getAccessExpires();
                            fPrefs.save(getActivity());
                                                                        
                            postMessageOnWall(getCountLooked(myIdGot), text);
                        }
 
                        @Override
                        public void onError(DialogError error) {
 
                            // функция ошибки
                        }
 
                        @Override
                        public void onFacebookError(FacebookError fberror) {
 
                            // функция фейсбучной ошибки
                        }
 
                    });
А вообще, надо открыть исходники модуля которым пользуешься и почитать чужой код. Полезно, даже больше, чем 1000 строк своих велосипедов.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
07.06.2013, 02:11  [ТС] #11
Цитата Сообщение от haribo Посмотреть сообщение
не он случаем?
он скорей всего, так а что именно закрыть нужно? наверное же какой-то объект? Я думаю это, 4 строчка:
Java
1
new Facebook.DialogListener() {
но как, у меня не получилось. Каким способом это сделать или это не здесь этот диалог?

Цитата Сообщение от haribo Посмотреть сообщение
А вообще, надо открыть исходники модуля которым пользуешься и почитать чужой код. Полезно, даже больше, чем 1000 строк своих велосипедов.
Всё Api sdk facebook, можно перелопатить но найти нужное очень сложно.
0
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
07.06.2013, 09:40 #12
после
Java
1
postMessageOnWall(getCountLooked(myIdGot), text);
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
07.06.2013, 11:23  [ТС] #13
но оно мне не дает написать
Java
1
this.dismiss()
пишет: The method dismiss() is undefined for the type new Facebook.DialogListener(){}

как быть?
0
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
07.06.2013, 11:37 #14
щас нет возможности проверить.
могу лишь сказать что тебе нужно завершить диалог - это значит вызвать метод finish() в диалоге или же dialog.dismiss() у объекта твоего диалога
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.06.2013, 11:37 #15
смотрите код метода authorize
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2013, 11:37
Привет! Вот еще темы с ответами:

Как отобразить в диалог окне информацию с БД о записи, на которую кликнул в ListView? - Программирование Android
Помогите пожалуйста! Имею Листвью в который выводятся записи из БД через адаптер. При нажатии на пункт - вывожу диалог, в котором...

Как закрыть фрагмент? - Программирование Android
Нужно в самом фрагменте завершить его работу и вернуться обратно, как это реализовать

Как закрыть фрагмент - Программирование Android
Есть главное активити в котором с помощью фрагментов показывается разный контент. Типа таба с очень большим числом вкладок. Информация для...

Как закрыть приложение из view activity? - Программирование Android
Есть простой класс который расширяется от View в котором нужно завершить другое активити, этот View класс добавлен в основной класс с...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
07.06.2013, 11:37
Ответ Создать тему
Опции темы

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