Сначала , вы не можете создать действие со следующим:
private MainActivity main = new MainActivity();
его следует начинать с Context.startActivity()
, подробнее об этом можно прочитать на Документация по активности .
Второй , у вас есть следующий метод:
public List<VDienas> loadedfile(Context ctxt) {
...
}
так, вы не можете назвать это следующим фрагментом внутри фрагмента:
vardadienas = main.loadedfile(MainActivity.this);
потому что MainActivity.this
ссылается на экземпляр MainActivity, но ваш фрагмент не является экземпляром активности.
Вам нужно вызвать метод со следующим:
vardadienas = main.loadedfile(getContext());
где getContext()
относится к Деятельности, где прикреплен Фрагмент.
Вам лучше переместить loadedfile(Context ctxt)
в его собственный класс как в класс утилит, чтобы вы могли повторно использовать метод из любого другого класса. Вы можете сделать что-то вроде этого:
public class FileUtils {
private FileUtils() {} // this prevent class being instantiate.
// we need to make it static so it can be accessed without
// creating an instance of the class.
// of course, you can use singleton. But it's another topic
public static List<VDienas> loadedfile(Context ctxt) {
...
}
}
тогда вы можете использовать метод с чем-то вроде этого:
vardadienas = FileUtils.loadedfile(getContext());