【发布时间】:2017-02-20 04:33:17
【问题描述】:
我在默认的 MainActivity.class 中创建了一个简单的小目录列表方法
我能够让它按照我想要的方式运行,但是,当我将该方法移动到另一个类并在 MainActivity 中调用它时,我最终得到了很多上下文错误。在网上搜索后,我很困惑,需要帮助。
出错的代码是针对 FileArray 的上下文:
(public class Utilities extends Activity)
arrayAdapter = new FileArrayAdapter(getApplicationContext(),R.layout.custom_explorer,dir);
方法名称:
public void listDirectories(ListView listView, File directory)
在getApplicationContext, 上出现错误,此方法在 MainActivity 中运行良好。
我还没有实现Fragments 到MainActivity,想先获得工作功能,然后为OOP 展开;然后通过 Fragment 调用。
希望有人能提供帮助,我很乐意分享任何进一步的信息。
【问题讨论】:
-
发生了哪个错误?
-
致命异常:main java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.content.Context android.content.Context.getApplicationContext()'
-
在方法内部而不是在类级别使用它
-
你需要将上下文作为参数传递给方法
-
是的,我认为这可能是问题所在。如果我将 OnTouch 侦听器标记为 final,它确实允许。但是 getApplicationContext 或 getBaseContext 给我同样的错误。
标签: java android android-context