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

OnAttach(Activity) Deprecated - Android

Восстановить пароль Регистрация
 
togemura
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 9
20.11.2015, 12:07     OnAttach(Activity) Deprecated #1
Как реализовать передачу сообщений фрагмент - активити после того как onAttach(Actitivity) стал Deprecated (достали разрабы...) ?

пробовал вот так-

во фрагменте
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
public interface onMainMenuListener 
    { 
        public void onButtonClickEvent(int i); 
    } 
 
    onMainMenuListener mainMenuListener; 
 
    @Override 
    public void onAttach(Context context) { 
        super.onAttach(context); 
 
        try { 
 
            Activity activity; 
            if (context instanceof Activity){ 
                activity=(Activity) context; 
 
            mainMenuListener = (onMainMenuListener) activity; 
 
            } 
 
        } 
        catch (ClassCastException e) 
        { 
            throw new ClassCastException(context.toString()+" must implement onMainMenuListener"); 
        } 
    }
в итоге на попытке передать значение приложение вылетает
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
@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
 
        View v=inflater.inflate(R.layout.mainmenu_fragment,container,false); 
        Button trainButton = (Button) v.findViewById(R.id.button_train); 
        trainButton.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) {
            mainMenuListener.onButtonClickEvent(1); // <---
            } 
        }); 
 
 
        Button youtubeButton = (Button) v.findViewById(R.id.button_youtube); 
        youtubeButton.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                mainMenuListener.onButtonClickEvent(2); // <---
            } 
        }); 
 
 
        return v; 
    }

FATAL EXCEPTION: main

java.lang.NullPointerException
at company.ais.simplearithmetic.fragment.MainMenuFragment$1.onClick(MainMenuFragment.java:58)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)

Добавлено через 12 часов 16 минут
в общем работает после включения support.v4
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2015, 12:07     OnAttach(Activity) Deprecated
Посмотрите здесь:

Android Что такое Рефлексия? Как быть с deprecated?
Приостановка Activity Android
Fragments и Activity Android
Activity с авторизацией Android
Android Widget + activity
Activity и многопоточность Android
Activity Android
Android Activity окошки
Android Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future
Android Как поступать если метод стал deprecated?
Совместимость и проверка версии SDK, "обход" deprecated Android
Android Вывод activity в activity

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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