java - 在 Activity 中的可运行状态中调用 setAdapter 引发 NullPointerException

标签 java android

注意:这段代码适用于我的应用程序中的一个 fragment 。相同的适配器,但具有 getActivity().getApplicationContext() 而不是 Activity.this。

我试图在 Activity 中做同样的事情,但我不断在 setAdapter 行上收到 NPE。假设 Arraylist 项由不同的线程填充。

                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        //test if item Arraylist has stuff in it
                        for (MainGridItem t: item) {
                            System.out.println(t.getUrl()+t.getName()+t.getLinkUrl());
                        }

                        SwingBottomInAnimationAdapter swingBottomInAnimationAdapter = new SwingBottomInAnimationAdapter(new GridViewAdapter(GridViewActivity.this, item));
                        swingBottomInAnimationAdapter.setAbsListView(activity_grid);

                        assert swingBottomInAnimationAdapter.getViewAnimator() != null;
                        swingBottomInAnimationAdapter.getViewAnimator().setInitialDelayMillis(DELAY);

                        activity_grid.setAdapter(swingBottomInAnimationAdapter);

最佳答案

与答案无关,但 这只是知识共享并解决更严重的内存管理错误

避免依赖注入(inject)框架

正如 Google 官方网站所述。

https://developer.android.com/training/articles/memory.html#DependencyInjection

关于java - 在 Activity 中的可运行状态中调用 setAdapter 引发 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28715869/

相关文章:

java - Spring Boot boot在Java 6上运行

java - 将两个 foreach 更改为一个流

java - Hibernate 映射类 SQL 查询中的公式标记

ANDROID:抽屉导航菜单项共享元素转换

java - 快速获取java关键字

java - 我如何在安装在 "C:\Program Files\Apache Software Foundation\Tomcat 8.0\"中的 Debug模式下启动我的 Tomcat 8

java - onBackPressed 之后 onActivityResult 将不起作用

android - 我正在尝试为空 ListView 制作一个 TextView,但我无法从 Activity 中获取 ListView

Android - 如何使用Android Asset Packaging Tool?

Android WorkManager 同时启动太多作业