【问题标题】:Android 25 Java : Using methods that require Context in a different Class - Require assistanceAndroid 25 Java:在不同的类中使用需要上下文的方法 - 需要帮助
【发布时间】: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 中运行良好。

我还没有实现FragmentsMainActivity,想先获得工作功能,然后为OOP 展开;然后通过 Fragment 调用。

希望有人能提供帮助,我很乐意分享任何进一步的信息。

【问题讨论】:

  • 发生了哪个错误?
  • 致命异常:main java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.content.Context android.content.Context.getApplicationContext()'
  • 在方法内部而不是在类级别使用它
  • 你需要将上下文作为参数传递给方法
  • 是的,我认为这可能是问题所在。如果我将 OnTouch 侦听器标记为 final,它确实允许。但是 getApplicationContext 或 getBaseContext 给我同样的错误。

标签: java android android-context


【解决方案1】:

感谢您的及时回复:ρяσѕρєя K & Nilabja。 是的,我想它只是需要另一个人建议将上下文作为参数提供。我这样做了一次,但没有成功,所以我把它传了出去,再次尝试了 Nilabja 的建议。是的,这就是解决方案。

utilities.ListDirectory(mainList, root, getApplicationContext());

public void listDIR(ListView listView, File directory, Context setContext)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-29
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多