从静态方法中参考非静态方法



我正在尝试从静态方法调用以下函数。

File directory = getDir(folderName, Context.MODE_PRIVATE);

关于如何修复Cannot make a static reference to the non-static method getDir(String, int) from the type ContextWrapper的任何建议

在不了解您的情况或方法的情况下,我会说您需要将Context传递到静态方法中并在该对象上调用getDir()

只需像这样使您的getFiles func公共静态

public static ArrayList<String> GetFiles(String DirectoryPath) {
    ArrayList<String> MyFiles = new ArrayList<String>();
    File f = new File(DirectoryPath);
    f.mkdirs();
    File[] files = f.listFiles();
    if (files.length == 0)
        return null;
    else {
        for (int i=0; i<files.length; i++)
            MyFiles.add(files[i].getName());
    }
    return MyFiles;
}

您将能够从其他活动访问它。

do

File fileName = New File();
File directory = fileName.getDir(folderName, Context.MODE_PRIVATE);

也在这里寻找更好的解释你做错了什么。

这是我们在

静态方法中使用"getConTentResolver()"时出现的错误喜欢:

 public static void Mthd()
 {
   Cursor cursor =getContentResolver().query(uri, null, null, null, null);
   //ur next code
  }
因此,

在这种情况下,它会给出一个错误,因此我们必须使函数非静态。

相关内容

  • 没有找到相关文章

最新更新