在我的Android应用中出现“错误:找不到符号方法openFileOutput(String,int)”

时间:2019-01-20 04:43:38

标签: android json

我正在尝试将JSON提取的结果保存到本地文件。当我尝试使用openFileOutput时,得到file/folder。搜索说它需要Context,但是我尝试了我拥有的所有其他类,但它保持相同的错误,或者得到error: cannot find symbol method openFileOutput(String,int)

我所有的类都扩展了AppCompatActivity或ArrayAdapter,但我在其中使用此代码的类扩展了AsyncTask。

Non-static method 'openFileOutput(java.lang.String,Int)' cannot be referenced from a static context.

1 个答案:

答案 0 :(得分:0)

方法openFileOutput属于类Context,因此您不能直接在ArrayAdapter类内部使用它。

您有多种选择:

  1. 在方法Context中将writeToFile的引用作为参数传递并使用context.openFileOutput(...)

  2. 或使用类getContext()的方法ArrayAdapter并使用getContext().openFileOutput(...)

  3. 如果您的ArrayAdapter是活动的内部类,请不要使其(这些类)为静态,然后您可以直接从{{ 1}}。