小编Tom*_*s M的帖子

Android Studio - 如何停止片段中的 handler.postDelayed ?

描述:

研究了一段时间,我找到了下一行代码:

handler.removeCallbacksAndMessages(null);
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了,并不能解决我的问题。这是我得到的错误:

java.lang.IllegalStateException: Fragment fragment_languages{f33796} not attached to a context.
at androidx.fragment.app.Fragment.requireContext(Fragment.java:696)
    at androidx.fragment.app.Fragment.getResources(Fragment.java:760)
    at com.example.ui.INICIO.CATEGORIAS.LANGUAGES.fragment_languages.fillRecycler4(fragment_languages.java:173)
    at com.example.ui.INICIO.CATEGORIAS.LANGUAGES.fragment_languages.access$200(fragment_languages.java:21)
    at com.example.ui.INICIO.CATEGORIAS.LANGUAGES.fragment_languages$3.run(fragment_languages.java:61)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6694)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
Run Code Online (Sandbox Code Playgroud)

我正在调用三个处理程序,在不同的时间将项目加载到三个不同的回收器视图中(这是因为,如果我不等待就加载它们,应用程序会因使用太多内存或类似的情况而崩溃)。

问题:

“巨魔”用户可以进入我的应用程序,然后进入这个片段,其中我有 4 个处理程序,并在他进入后按后退按钮,这也会使我的应用程序崩溃。这就是为什么我想停止处理程序(当按下后退按钮时)。

我可以做什么来修复此错误?

您需要了解什么:

我的带有处理程序的片段位于活动内部(当然)。后退按钮位于活动中(而不是片段中)。

《片段语言》JAVA代码:

father p = new father();

fillRecycler1();

    p.handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            fillRecycler2();
        }
    },1500);

    p.handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            fillRecycler3();
        }
    },2500);

    p.handler.postDelayed(new Runnable() {
        @Override
        public void …
Run Code Online (Sandbox Code Playgroud)

android handler fragment android-studio

3
推荐指数
1
解决办法
2835
查看次数

标签 统计

android ×1

android-studio ×1

fragment ×1

handler ×1