Обратитесь к нестатическому методу из статического метода - PullRequest
0 голосов
/ 18 мая 2011

Я пытаюсь вызвать следующую функцию из статического метода.

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

Любые предложения о том, как исправить Cannot make a static reference to the non-static method getDir(String, int) from the type ContextWrapper

Ответы [ 4 ]

1 голос
/ 03 декабря 2013

Просто сделайте ваши getFiles func public static вот так:

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;
}

И вы сможете получить к нему доступ из другого занятия.

1 голос
/ 18 мая 2011

Не зная больше о вашей ситуации или методе, я бы сказал, что вам нужно передать Context в ваш статический метод и вызвать getDir() для этого объекта.

0 голосов
/ 03 марта 2013

Это ошибка, которая возникает, когда мы используем "getConTentResolver ()" в статический метод, подобный:

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

Итак, в этом случаеэто даст ошибку, поэтому мы должны сделать функцию нестатичной.

0 голосов
/ 18 мая 2011

Do

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

Также посмотрите здесь для лучшего объяснения того, что вы делали неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...