【问题标题】:Cannot resolve getBaseContext() method无法解析 getBaseContext() 方法
【发布时间】:2017-11-13 01:35:24
【问题描述】:

我想从 JSON 文件中读取数据。我做了here 的建议,但它无法解决 getBaseContext() 方法。我读到我应该使用 Context 而不是这个,但仍然有一个错误说“不能从静态上下文引用非静态方法 getAssets()”。我该如何解决这个问题?代码如下所示:

AssetManager assetManager = Context.getAssets();
InputStream is = assetManager.open("Test.json");

我假设 Context 指的是在其中创建实例的 Activity,getBaseContext() 也是如此。我错了吗?

【问题讨论】:

  • 您尝试从哪个函数和类调用 getContext() ?
  • 我自己的,我称之为 JSONTranslater。它有一个解析 JSON 文件的方法,该方法调用 loadJSONfromAssets(代码 sn-p 的来源)。

标签: java android-studio android-assets


【解决方案1】:

正如你所说,你需要使用上下文来读取资产,为此你必须向你的函数发送一个上下文引用:

public static String loadJSONfromAssets(Context context)

根据您调用函数的位置,您可以使用getContext()getActivity()(来自Fragment)或直接this(来自Activity)来访问上下文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 2015-06-10
    • 2019-08-28
    • 2019-10-10
    • 2019-06-13
    • 2020-07-09
    相关资源
    最近更新 更多